我已经部署了原生app android + ios和sencha touch + phonegap。 如果我们点击应用内的链接,它会在应用内打开,我们无法外出。
现在有人将链接打开到手机浏览器中是否可行?
答案 0 :(得分:1)
window.open("yoururl", '_blank');
答案 1 :(得分:0)
如果我没弄错的话,我使用的手机版本是2.9.0。
我遇到了同样的问题并解决了如下问题:
在项目中嵌入JQuery javascript文件。就我而言,它是:
<script type="text/javascript" charset="utf-8" src="js/jquery-1.10.2.min.js"></script>
然后我编写了以下函数,我在onDeviceReady函数中调用了它:
function enableHttpLinks() {
$('.externalLink').click(function(e) {
e.preventDefault();
url = $(this).attr("href");
window.open(url, '_system');
});
}
为了使此功能有效,您可以将类externalLink
分配给要在设备浏览器中打开的所有链接,如下所示:
<a href="..." class="externalLink">your link title</a>
答案 2 :(得分:0)
只需在“启动”功能中添加此功能,就像这样的app.js:
launch: function() {
// Destroy the #appLoadingIndicator element
//Ext.fly('appLoadingIndicator').destroy();
// Initialize the main view
Ext.Viewport.add(Ext.create('yourApp.view.Main'));
// Voila :
Ext.Viewport.element.dom.addEventListener('click', function (e) {
if (e.target.tagName !== 'A') {
return;
};
var url = e.target.getAttribute('href');
var containsHttp = new RegExp('http\\b');
//if href value begins with 'http'
if(containsHttp.test(url)) {
e.preventDefault();
window.open(url, "_system"); // For iOS
navigator.app.loadUrl(url, {openExternal: true}); //For Android
}
else {
return;
}
}, false);
}, //...
然后你可以同时为Android和iOS构建。