bookmarklet popup:通过JS或iframe生成div?

时间:2012-03-22 21:53:23

标签: javascript iframe bookmarklet ui-design tradeoff

当创建一个打开“假弹出窗口”的书签(类似于亚马逊的心愿单,pinterest等)时,为什么人们不使用iframe而不是生成所有元素并从中删除所有页面样式?据我所知:

iframe专业人士:

  • 可以使用浏览器机制记住密码等
  • 没有第三方Cookie问题
  • 表单提交更简单
  • 更少的javascript,可能会被页面上的脚本等打破

iframe缺点:

  • 无法自动关闭弹出窗口(bookmarklet无法读取iframe内容)
  • 任何页面脚本必须在iframe外部运行,然后通过GET参数传递结果(iframe无法读取页面内容)
  • ???

在我看来,如果你不需要自动关闭的东西,iframe将是最好的选择。但似乎没有人这样做。为什么不呢?

1 个答案:

答案 0 :(得分:0)

原因如下:

  • 通过bookmarklet创建的iframe无法读取父文档的DOM

  • iframe中的所有事件仍然不会影响父文档