2015-11-23 141 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