2015-12-21 35 views
1

我在InAppBrowser中運行單頁面Web應用程序。我想將HTML屬性注入一些HTML元素。例如,將所有h1更改爲h2。如何使用Cordova的InAppBrowser將頁面注入頁面

我知道我可以使用executeScript方法短期的任務是這樣的:

win.executeScript({ code: "console.log('hello');" }) 

有誰知道什麼是與executeScript方法運行長腳本的最佳方法,以及如何確保它運行後一切都裝?

回答

0

如果你想注入很多代碼,你應該使用一個js文件而不是隻使用一個代碼字符串。從.js文件注入代碼,並確保在頁面加載,你必須運行executescript當loadstop事件被稱爲,是這樣的:

var ref = cordova.InAppBrowser.open('http://apache.org', '_blank'); 
ref.addEventListener('loadstop', function() { 
    ref.executeScript({file: "http://www.yourwebsite.com/myscript.js"}); 
}); 

file必須是如果你是加載外部JS外部網站,但可以是本地js,如果您正在加載本地html文件

+0

是否使文件不能爲本地? – kaleaht

+0

不,它必須是一個遠程文件,它只是創建一個腳本標籤並將其附加到網站主體 – jcesarmobile

+0

實際上它取決於。 如果在應用程序瀏覽器窗口中打開的是加載外部html文件,它必須是遠程文件。但是,如果它正在運行本地文件,則還可以執行本地腳本。 –