2013-12-17 26 views
0

我正在修復我們的Web應用程序,使其與瀏覽器兼容Internet Explorer 10(非兼容模式),並遇到幾個問題。有很多JavaScript訪問元素的自定義屬性,這在Internet Explorer 10(常規模式)下不起作用。我通過使用element.getAttribute(「customattribute」)修復了大多數情況。問題是,有很多JavaScript,我不知道自定義屬性試圖獲得的所有地方。我正在努力通過使用正則表達式來查找所有出現的事件。基本上,我想查找anyword,後面跟一個點(。),後面跟anyword,除了id,name,checked等屬性,後面跟一個空格或等號。這是我到目前爲止所提出的。查找JavaScript訪問自定義屬性的正則表達式

(\w)\.(?!attr|index|all|id|value|className)(\w)([ \t]|=) 

單詞attr,index,all,id,value和className都是通過返回。有沒有更好的方法(或正確的方法)來實現這一目標?

回答

0

我用下面的修改,以獲得你所要求的東西:

(\w*)\.(?!attr|index|all|id|value|className|getElementById)(\w*) 

但是也有抓了一大把點短語(如「的document.getElementById」,「xmlhttp.open」),你不想要。所以,白名單你想可能會有所幫助,以及東西:

style\.(?!attr|index|all|id|value|className|getElementById)(\w*) 

測試在:http://gskinner.com/RegExr/用JavaScript代碼的樣本。如果沒有關於JavaScript代碼本身的更多信息,那麼如果我想查找的定製代碼太多,我可能會排除太多或者相反的結果。

+0

當我使用第一行時,它仍然在找到帶有「document.all.whatever.value」的短語。第二個只發現諸如「document.all(」按鈕「),style.visibility」等短語。 –