我有一个js bookmarklet,可以在所有浏览器上完美运行。单击时会弹出一个弹出窗口。除了iPad之外,它还会产生一个新标签,而不是弹出
注意:我已关闭Safari中的阻止弹出窗口功能
这是我使用的书签代码:
javascript:(function(){window.open('http://****.com/pages/bm/add.html?
page_title='+document.title+'&rl='+encodeURIComponent(window.location.href),
'bookmarklet','left=100,top=100,width=610,height=700,personalbar=0,toolbar=0
,scrollbars=1,resizable=1')})()
答案 0 :(得分:1)
iOS没有弹出窗口,只有标签。为了记录,Android会做标签。
答案 1 :(得分:1)
iOS不会做任何类型的Windows。
答案 2 :(得分:1)
澄清前两个答案,这是可能的,但你不能依赖这种行为,因为它是用户的偏好:
默认情况下,iOS上的Safari会阻止弹出窗口。但是,它是一个 用户可以更改的首选项。要更改Safari设置, 点击设置,然后点按Safari。阻止弹出窗口设置显示在 安全部分。 来自:http://developer.apple.com/library/ios/#DOCUMENTATION/AppleApplications/Reference/SafariWebContent/CreatingContentforSafarioniPhone/CreatingContentforSafarioniPhone.html
这是一个弹出打开新窗口的视图源书签。试试这个,看它是否有效:
javascript:(function()%7Bvar%20a=window.open(%22about:blank%22).document;a.write(%22%3C!DOCTYPE%20html%3E%3Chtml%3E%3Chead%3E%3Ctitle%3ESource%20of%20%22+location.href+'%3C/title%3E%3Cmeta%20name=%22viewport%22%20content=%22width=device-width%22%20/%3E%3C/head%3E%3Cbody%3E%3C/body%3E%3C/html%3E');a.close();var%20b=a.body.appendChild(a.createElement(%22pre%22));b.style.overflow=%22auto%22;b.style.whiteSpace=%22pre-wrap%22;b.appendChild(a.createTextNode(document.documentElement.innerHTML))%7D)();