【发布时间】:2015-05-15 14:53:56
【问题描述】:
我搜索了网络、youtube 和社区,但没有解决这个问题。我有一个正在使用 Phonegap Build 开发的应用程序。我在我的 config.xml 中包含了 InAppBrowser 插件,并且可以与应用程序中的链接一起正常工作。我正在寻找的解决方案或方向是一种包含外部网站上的链接以使用 InAppBrowser 打开的方法。外部页面上的链接是动态的,但我可以添加 onClick 事件。这就是我的动态链接的样子。
<a href="#" onclick="openInAppBrowserBlank(\'' . get_permalink($post->ID) . '\');>Read More</a>
这是我在使用 Firebug 查看它生成的 html 时看到的一个链接。
<a onclick="openInAppBrowserBlank('http://website.com/uncategorized/post-one/');" href="#">Read More »</a>
这是我用来在我的应用中加载外部页面的脚本。
<script type="text/javascript">
function expage() {
$("#display").html('<object data="http://website.com" style="position: relative; right:0; top:30px; width:100%; height:100%; overflow:auto; overflow-y:hidden; padding:0px;" />');
}
</script>
这是显示外部页面的 DIV。
<div id="display" class="card1" style="position:fixed; top:15px; left:0px; width:100%; height:93%;"></div>
这些是附加到我的页面的脚本。 Phonegap 将“phonegap.js”构建到我的应用程序中。
<script type="text/javascript" src="phonegap.js"></script>
<script type="text/javascript" src="js/index2.js"></script>
<script type="text/javascript">
app.initialize();
</script>
这是“index2.js”
var ref = null;
function openInAppBrowserBlank(url)
{
try {
ref = window.open(url,'_blank','location=no'); //encode is needed if you want to send a variable with your link if not you can use ref = window.open(url,'_blank','location=no');
ref.addEventListener('loadstop', LoadStop);
ref.addEventListener('exit', Close);
}
catch (err)
{
alert(err);
}
}
function LoadStop(event) {
if(event.url == "http://website.com/x.php"){
// alert("fun load stop runs");
ref.close();
}
}
function Close(event) {
ref.removeEventListener('loadstop', LoadStop);
ref.removeEventListener('exit', Close);
}
有没有人做过类似的事情或者可以给我指导?
【问题讨论】:
-
我认为您需要提供更多信息。例如,您的问题中缺少 openInAppBrowserBlank 的代码。
-
我不熟悉 Phonegap 构建到我的应用程序中的代码。我在上面添加了一些脚本。我应该在这篇文章中添加哪个文件?
-
放置一个您在 firebug 中看到的生成链接的示例
-
devconcept 你有什么建议吗?
标签: javascript hyperlink external phonegap-build inappbrowser