当我在safari浏览器中打开我的项目并在ipad的主屏幕上添加图标时,链接无法正常工作。
情况如下:
我有一个目录项目/ index.html。
我有目录project / edition / edition.html(这在index.html的弹出窗口中打开)
和目录project / magazine / magazine.html
当我点击index.html中的按钮打开弹出窗口,选择我想要的菜单,当用户选择一些选项时,请转到magazine.html。问题是,总是在浏览器中打开,我想在我的应用程序中继续而不关闭应用程序。
任何想法?
我使用这个`并且我已经测试了所有目标:self,parent,top等..并且总是在浏览器中打开
代码:
的index.html
<div data-role="popup" id="edicaorevista" style="max-height:100%">
<a href="#" data-rel="back" data-role="button" data-theme="a" data-icon="delete" data-iconpos="notext" class="ui-btn-right">Close</a>
<iframe src="Edition/Edition.html" style="width:730px;height:300px"></iframe>
</div>
<a href="#edicaorevista" id="ler" data-rel="popup" data-inline="true" data-direction="reverse" data-position-to="window"></a>
edition.html
<a href="../magazine/magazine.html"><img src="imgs/landscape/edicao2013.png" alt="image01" />
答案 0 :(得分:1)
查看Javascript上的window.open()或HTML上的目标属性:
_blank Opens the linked document in a new window or tab
_self Opens the linked document in the same frame as it was clicked (this is default)
_parent Opens the linked document in the parent frame
_top Opens the linked document in the full body of the window framename Opens the linked document in a named frame
这是一个纯HTML示例:
<a href="http://www.google.com" target="_self">google</a>
你可以使用这样的iframe和目标:
<a href="index.php" target="myFrame" >go to main </a>
<iframe id="myFrame" name="myFrame" src="documents.php ></iframe>
答案 1 :(得分:1)
我解决了..
我已经在..中实现了一个脚本,当我在全屏模式下看到我的应用时,我的意思是,当我将图标添加到主屏幕并打开它时...链接不再在浏览器中打开
我使用的脚本是:
(function(document,navigator,standalone) {
// prevents links from apps from oppening in mobile safari
// this javascript must be the first script in your <head>
if ((standalone in navigator) && navigator[standalone]) {
var curnode, location=document.location, stop=/^(a|html)$/i;
document.addEventListener('click', function(e) {
curnode=e.target;
while (!(stop).test(curnode.nodeName)) {
curnode=curnode.parentNode;
}
// Condidions to do this only on links to your own app
// if you want all links, use if('href' in curnode) instead.
if('href' in curnode && ( curnode.href.indexOf('http') || ~curnode.href.indexOf(location.host) ) ) {
e.preventDefault();
location.href = curnode.href;
}
},false);
}
})(document,window.navigator,'standalone');