在同一窗口中打开一个href页面

时间:2013-06-06 20:01:13

标签: jquery html html5 href

当我在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" />

2 个答案:

答案 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');