加载“;window.open”;命令仅在IOS设备上..

Loading "window.open" command on IOS devices only.....?

本文关键字:IOS 命令 window open 加载      更新时间:2023-09-26

我第一次尝试构建一个可以容纳IOS的网站,但进展并不顺利。

在页面上嵌入flickr幻灯片作为对象。在普通浏览器上运行良好,在iPad上运行不太好(显然,因为它是flash。)-除了背景图像,什么都不加载。

有一个不错的解决方法,就是将单元格本身作为一个链接,用flickr页面本身打开一个新的浏览器窗口。在iPad上非常完美。但在普通浏览器上,点击flickr对象会产生两种操作——幻灯片和带有flickr页面的新窗口。

我需要的是以这样一种方式编写它,只有IOS才会看到以下指令:

onclick="window.open('http://www.flickr.com//photos/72076640@N04/sets/72157628873638463/show/');"

这是有问题的页面:

http://creyoncafe.com/pages/galeria2.html

有人能帮忙吗?

(希望我说得清楚。如果我说得太久,我很抱歉……我遵循法令,尽可能具体。)

谢谢

向页面添加类似的javascript函数

<script type="text/javascript">
    function showFlickr () {
        var userAgent = navigator.userAgent;
        if (userAgent.indexOf('iPhone') != -1 ||
            userAgent.indexOf('iPod') != -1 ||
            userAgent.indexOf('iPad') != -1) {
            window.open('http://www.flickr.com//photos/72076640@N04/sets/72157628873638463/show/');
            return false;
        }
        return true;
    }
</script>

然后在你的onclick上说

onclick="return showFlickr()"

这绝不是最优雅的解决方案,但它应该有效。

更好的方法是找到一个脚本来检测浏览器上是否启用了Flash,并用它来决定显示哪种类型的图库。有很多非iOS设备也不能显示Flash,比如没有Flash或安装了Flash阻止程序的台式机,或者其他品牌的智能手机,比如旧的Android设备、Windows Phone、黑莓等。使用用户代理永远无法处理每一台设备,但检测Flash应该对每个人都有效。

onclick处理程序设置为

onclick="if (!/(iPhone|iPad).*Safari/.test(navigator.userAgent)) return true; window.open('http://www.flickr.com//photos/72076640@N04/sets/72157628873638463/show/'); return false;"