Javascript Widget vs iFrame?安全问题?

时间:2011-11-02 15:15:37

标签: javascript jquery iframe widget wizard

我有一个简单的问题。我想创建一个小的Scheduler小部件来放在我的客户网站上。因此,如果我需要对表单进行全局更改,我只需要执行一次。

表单必须是网站所特有的,因为我需要知道将表单发送到哪个电子邮件地址。

我在想一个 iFrame 我可以这样使用:

<iframe src="http://www.domain.com/scheduler/shop-name/"></iframe>

但我认为这不是最好的方法,我不希望有人直接访问该网址。

另一种选择是这样的:

<script type="text/javascript">
shop_id = '114000300';
</script>
<script src="http://www.domain.com/js.widget" type="text/javascript"></script>

我不太确定如何执行该选项,我对Javascript没有经验,但你们怎么想? iFrame与Javascript的优点和缺点是什么?

只是想知道什么是最好的选择,如果有人有关于如何入门的一些提示以及我需要注意的任何安全问题。

谢谢!

2 个答案:

答案 0 :(得分:6)

<iframe>

  • 如果没有额外的工作,无法将其大小传达给父窗口,这会限制调整大小。
  • 提供更好的隔离,因为您无法访问父页面上的任何内容。从客户的角度来看,这可能是一个加分。
  • 可以用纯HTML编写,不一定需要Javascript经验。
  • 拥有自己独立的CSS样式。
  • 适用于已禁用脚本的用户。

脚本

  • 允许您完全访问父页面
  • 会降低页面加载速度,因为浏览器会在渲染页面的其余部分之前加载脚本。 (至少你已经在那里展示过,有办法解决这个问题。)
  • 显然需要一些Javascript经验。
  • 必须与父页面共享样式。如果客户的页面使用广泛的样式规则,例如*div的规则,则可能会导致兼容性问题。

答案 1 :(得分:3)

除了@Dark Falcon的答案之外,还有更多的分数,

  • 如果iframe,您可以更好地控制设计。在javascript小部件的情况下,客户端的样式可能与小部件的样式冲突。
  • iframe在安全性方面更好(存储的Cookie不同)。
  • 制作JavaScript小部件需要更多的关注和专业知识,以确保其他JavaScript不会与您发生冲突。 (全球vars等...)

如果您想避免某人直接访问该网址,您可以使用动态编写iframe的JavaScript。