Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/104.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 在iOS全屏Web应用程序中使用链接_Html_Ios_Web Applications_Homescreen - Fatal编程技术网

Html 在iOS全屏Web应用程序中使用链接

Html 在iOS全屏Web应用程序中使用链接,html,ios,web-applications,homescreen,Html,Ios,Web Applications,Homescreen,我正在开发一个快速登录页面,以便在同一台服务器上访问一些小型的、经过移动优化的应用程序。基本上是仪表板模式。我想让它出现在我的主屏幕上,这样我就可以在全屏模式下访问任何应用程序,而不是在工具栏繁重的移动Safari中。然而,当我点击一个链接时,它会把我从全屏模式带到Safari——这正是我不想要的 在导航到其他页面时,是否有方法(例如使用锚定的目标属性)保持全屏模式?或者我应该将所有内容都放到中吗?您需要使用一些javascript截获onclick事件。例如,下面是应用于标记的noeffect

我正在开发一个快速登录页面,以便在同一台服务器上访问一些小型的、经过移动优化的应用程序。基本上是仪表板模式。我想让它出现在我的主屏幕上,这样我就可以在全屏模式下访问任何应用程序,而不是在工具栏繁重的移动Safari中。然而,当我点击一个链接时,它会把我从全屏模式带到Safari——这正是我不想要的


在导航到其他页面时,是否有方法(例如使用锚定的
目标
属性)保持全屏模式?或者我应该将所有内容都放到
中吗?

您需要使用一些javascript截获
onclick
事件。例如,下面是应用于
标记的
noeffect
css类的作用:

window.onload = function () {
    function fullscreen() {
        var a = document.getElementsByTagName("a");
        for (var i = 0; i < a.length;i++) {
            if (a[i].className.match("noeffect")) {
                // Does nothing
            }
            else {
                a[i].onclick = function () {
                    window.location = this.getAttribute("href");
                    return false;
                };
            }
        }
    }
};
window.onload=函数(){
函数全屏(){
var a=document.getElementsByTagName(“a”);
对于(变量i=0;i
每当在mobile Safari中出现一次单击时,Safari将使其退出全屏模式。表单提交将保持全屏模式,无论是
POST
还是
GET
。如果通过javascript设置了
window.location
,它也将保持全屏模式

我更喜欢委托,而不是在每个锚上设置事件处理程序。下面是一个jQuery示例:

$(window).click(handleClick);

function handleClick(e) {
    var target = $(e.target).closest('a');
    if( target ) {
        e.preventDefault();
        window.location = target.attr('href');
    }
}

是的,我不久前就知道了。但是谢谢你的回答!很高兴有它在上面。我对框架、表单和事件做了更多的实验,所以我也应该将这些结果放在这里。+1委托比循环所有锚并手动向每个锚添加事件侦听器更高效、更干净、更可重用。