2017-08-11 29 views
0

在回答here之後,我試圖檢查頁面是否有2個字符串,然後執行該功能。Greasemonkey - 檢查頁面上是否有2個字符串

下面的工作,但一旦我改變它& &這是運算符爲AND它不起作用? - 我錯過了什麼? (這將是我第一次的Greasemonkey腳本)

這裏是我的其運作或運營商當前的代碼 - 我只是希望它是AND(所以如果兩種文本存在,那麼執行函數)

if (/(text1) || (text2)/i.test (document.body.innerHTML)) 
{ 
var input=document.createElement("input"); 
input.type="button"; 
input.value="Intuit SLI"; 
input.onclick = redirect; 
input.setAttribute("style", "font-size:18px;position:absolute;top:120px;right:40px;"); 
document.body.appendChild(input); 

function redirect() 
{ 
    var URLa = 'https://someurlhere'; 
    var URL_FINALa = encodeURI(URLa); 

    window.open(URL_FINALa, '_blank'); 
} 
} 
+0

你知道什麼'/(text1)|| (text2)/'實際上是指在RegExp中?它實際上並不在做你的想法。這將匹配document.body.innerHTML的任何內容。無論如何,爲什麼不只是'/text1/.test(document.body.inerrHTML)&& /text2/.test(document.body.inerrHTML)' –

+0

解釋...'(test1)|| (test2)'匹配「測試1」或「」或「test2」,因爲這是'|'字符在RegExp中的含義......或...使用兩個「||」表示「或」中的一個將是空字符串...當然,每個字符串匹配一個空字符串 –

+0

感謝您的解釋@JaromandaX - 您的建議工作。 – Toblerone

回答

1

回答用@JaromandaX的建議。

if (/text1/.test(document.body.innerHTML) && /text2/.test(document.body.innerHTML)) 
相關問題