编程语言
首页 > 编程语言> > javascript – iPad加载框架中的window.open()不起作用

javascript – iPad加载框架中的window.open()不起作用

作者:互联网

我正在尝试修改使用“Morten的JavaScript树菜单”的网站,以便在使用Adobe Reader插件设置的框架中显示PDF.

在iPad上,框架没用,所以我想在新标签页中打开PDF.不想弄乱树状菜单我以为我可以在查看器框架中打开的网页中使用JavaScript来打开带有PDF的新选项卡.

我在$(document).ready(function()中使用window.open()来打开新选项卡中的pdf.问题是window.open()不想在iPad中工作.

HTML的正文通常看起来像这样……

<body>
    <object data="MypdfFileName.pdf#toolbar=1&amp;navpanes=1&amp;scrollbar=0&amp;page=1&amp;view=FitH" 
    type="application/pdf" 
    width="100%" 
    height="100%">
    </object>
</body>

我把它改成只有这样的div ……

<body>
    <div class="myviewer" ></div>
</body>

然后使用以下脚本……

$(document).ready(function() {
    var isMobile = {
        Android : function() {
            return navigator.userAgent.match(/Android/i) ? true : false;
        },
        BlackBerry : function() {
            return navigator.userAgent.match(/BlackBerry/i) ? true : false;
        },
        iOS : function() {
            return navigator.userAgent.match(/iPhone|iPad|iPod/i) ? true : false;
        },
        Windows : function() {
            return navigator.userAgent.match(/IEMobile/i) ? true : false;
        },
        any : function() {
            return (isMobile.Android() || isMobile.BlackBerry() || isMobile.iOS() || isMobile.Windows());
        }
    };

    if(isMobile.any()) {
        var file = "MypdfFileName.pdf";
            window.open(file);
    }else {
        var markup = "<object   data='MypdfFileName.pdf#toolbar=1&amp;navpanes=1&amp;scrollbar=0&amp;page=1&amp;view=FitH' type='application/pdf' width='100%' height='100%'></object>";
        $('.myviewer').append(markup);
    };
});

除了iPad上的window.open()之外,其他功能也可以使用.如果我切换widow.open()可以在计算机上正常工作.在另一个项目中,我通过onclick函数在iPad上成功使用window.open().

我尝试使用计时器功能.我还尝试向div添加onclick函数并发布click事件.在这两种情况下,他们都在电脑上工作,而不是iPad.我很难过.

我知道在树状菜单框架中处理ipad会更有意义,但是代码太复杂了我无法弄清楚放置/修改onclick事件的位置.

有没有办法更改对象,以便在新选项卡中打开?

是否有人熟悉Mortens树菜单代码,可以告诉我如何调用点击事件,以便在新标签中打开pdf而不是在框架中打开页面?

谢谢

解决方法:

可能Safari试图阻止弹出窗口.这意味着当用户点击时,一个动作,window.open是否有效,但是当它“发生”时.

标签:jquery,javascript,ipad,window-open
来源: https://codeday.me/bug/20190630/1333342.html