所以我正在使用离子创建一个应用程序,而我遇到的问题是当我在disqus中加载iframe时。 iframe中有链接,如登录和其他帖子的链接等,但它们不会在android中打开。我已经制作了一个脚本,用InAppBrowser打开应用程序中的所有链接,它可以处理除iframe之外的所有内容。
现在我理解,因为iframe来自另一个域我无法修改它或捕获链接等,所以我的问题是你知道我可以使用InAppBrowser在iframe中打开链接吗?
编辑,澄清我不希望iframe内部的链接在其中打开,但我希望InAppBrowser在新窗口中打开它们。
答案 0 :(得分:0)
我认为安装了Cordova InAppBrowser插件。
请尝试以下代码:
ViewPager
在控制器文件中:
<your_package.CirclePageIndicator
android:id="@+id/indicator"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:fillColor="@color/primary_color"
app:pageColor="@color/white"
app:strokeColor="@color/primary_color"
android:padding="4dp" />
您可能还会看到此tutorial for more information。
答案 1 :(得分:0)
我发现实现此目的的唯一方法是从父窗口实现一个函数到加载的iframe中,当你点击某个东西或其他任何东西打开那个链接时,在iframe中使用这个函数。例如,您可以声明一个函数(假设您使用的是inappbrowser插件),如:
function openLink(url, target, options) {
window.open(url, target, options);
}
然后,将该功能放入您的iframe(frame
是您的iframe):
frame.onload = function() {
this.contentWindow.launchIAB = openLink;
}
最后,在iframe代码中随时使用它:
document.querySelector('a.openLink').on('click', function() {launchIAB(this.href);});