2015-11-23 201 views
0

有沒有辦法使用cordovas InAppBrowser引用網頁上的元素,並按下按鈕時,檢測?我所引用的頁面有一個後退按鈕和一個關閉按鈕,我需要知道哪一個被按下,然後關閉inAppBrowser。科爾多瓦inappbrowser引用元素

我假設它會是這個樣子,但我似乎無法使它工作

var ref = window.open(url, '_blank'); 
ref.addEventListener('loadstop', function(event) { 
    ref.executeScript({ 
     code: 
     "document.getElementById('pageHeader').onclick = function() { 
      alert('button was clicked'); 
     }" 
    }); 
} 

是否可以改用:

executeScript({ link: "https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js" }); 

然後使用jQuery?

executeScript({ code: "$('#pageHeader').on('click', function() { alert('button was clicked'); }"}); 
+0

雖然'InAppBrowser'插件可以讓你運行得離譜在顯示的頁面上,就像在你的問題中一樣,如果頁面不是你的,那麼這將不起作用。不屬於你的應用程序),因爲你會得到一個權限錯誤。這很諷刺,因爲InAppBrowser插件最常見的用途是顯示不屬於App本身的頁面,所以'executeScript'方法幾乎沒有用處。 –

+0

@RacilHilan Ahh,你知道當我點擊一個後退按鈕時是否有一種方法可以參考嗎? executeScript之外? – DanceSC

+0

不,對不起,否則我會將它發佈在答案中:-)。我認爲沒有辦法做到這一點。 'executeScript'有一個X按鈕來關閉它,如果你不喜歡它,你可以修改它的外觀。對於iOS來說,這是標準風格,我不認爲你可以改變它,但它看起來不錯。 –

回答

1

我剛剛檢查了它的iOS和它的工作,你對語法

工作的例子,注入在Bing網站sbBtn JS們的錯誤是搜索圖標按鈕:

var ref = window.open("https://www.bing.com/?setlang=es", '_blank'); 
ref.addEventListener(
    'loadstop', 
    function(event) { 
     ref.executeScript({ 
      code: "document.getElementById('sbBtn').onclick = function() {alert('button was clicked');}" 
     }); 
    } 
); 

而jQuery的方法:

var ref = window.open("https://www.bing.com/?setlang=es", '_blank'); 
ref.addEventListener('loadstop', function(event) { 
    ref.executeScript({ 
     file: "https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js" 
    }, function() { 
     ref.executeScript({ 
      code: "jQuery('#sbBtn').on('click', function() { alert('button was clicked'); });" 
     }); 
    }); 

}); 
+0

我試過最上面的一個網站工作,我無法得到它的工作,但問題是我試圖連接到使用PhoneGap的,所以我需要沃爾格林一種檢測他們的後退或取消按鈕是否被點擊的方法。正因爲如此,我不確定它們是否是實際的按鈕或鏈接,並且如果這會影響javascript .onclick,所以我會在服務器從維護中恢復後立即使用jquery進行測試。 – DanceSC

+0

'''http:// www.walgreens.com'''?我裝它,它已經使用jQuery的,但我沒有看到任何取消或後退按鈕 – jcesarmobile

+0

這是因爲我使用的照片打印API,而不是正常的網站 - https://services-qa.walgreens.com/api/util/mweb5url – DanceSC