我有一个点击事件的代码:
let browser = new InAppBrowser('http://example.com/test', '_self');
browser.executeScript({code: "(function() { alert(123); })()"});
当我点击按钮时,inAppBrowser会打开页面,但是脚本不会运行。
我关闭了浏览器,然后再次点击按钮,现在脚本就可以运行了。为什么第一次不运行呢?
我有一个点击事件的代码:
let browser = new InAppBrowser('http://example.com/test', '_self');
browser.executeScript({code: "(function() { alert(123); })()"});
在InAppBrowser.addEventListener(loadstart, loadstop, loaderror)中添加executeScript,它将在第一次运行。我正在使用ionic 1,但我想它也适用于ionic 2。下面是一个示例代码。(这是在ionic 1中的样子)。
browser.addEventListener('loadstart', function(){
browser.executeScript({code: "(function() { alert(123); })()"});
})
现在这种方式已经不起作用了。试试看!
browser.on('loadstop').subscribe(() => {
browser.executeScript({code: 'your_code'})
});
这对我有效。
@RezaT1994 把'_self'改成'_blank',这个问题就解决了。
let browser = new InAppBrowser('http://example.com/test', '_blank');
browser.executeScript({code: "(function() { alert(123); })()"});
尝试运行以下代码。这对我来说是有效的。
var ref = cordova.InAppBrowser.open("https://www.test.com/", '_blank');
ref.addEventListener('loadstart', function() {
ref.executeScript({
code: '//put the script you want to run here'
});
})
document.cookie = "JSESSIONID=cookievalue"
}).then()。 - Developer KE@Andrews的答案对我非常有效。这是我使用@ionic-native/themeable-browser制作Ionic 3应用程序的完整代码:
let options: ThemeableBrowserOptions = {
statusbar: { color: '#1976d2ff' },
toolbar: { height: 44, color: '#1976d2ff' },
closeButton: { align: 'right', event: 'closed', wwwImage: '/assets/images/icons/close-empty.png', wwwImagePressed: '/assets/images/icons/close-outline.png', wwwImageDensity: 3 },
usewkwebview: 'yes',
disallowoverscroll: 'yes',
allowInlineMediaPlayback: 'yes',
mediaPlaybackRequiresUserAction: 'no'
},
browser: ThemeableBrowserObject = self.iab.create(url, '_blank', options);
if (this.platform.is('ios')) {
browser.on('loadstop').subscribe(() => {
browser.executeScript({ code: 'document.body.classList.add("cordova-ios");' });
});
}
这样我就可以通过 body.cordova-ios
类继承来明确地为 Cordova 中的 iOS 样式设置样式。
on
而不是addEventListener
。请参见https://dev59.com/H5_ha4cB1Zd3GeqPxFi8#47560757 - user276648