【问题标题】:Javascript Widget versues iFrame? Security issues?Javascript 小部件与 iFrame?安全问题?
【发布时间】:2011-11-02 15:15:36
【问题描述】:

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

表单必须是网站唯一的,因为一旦提交表单,我需要知道将表单发送到哪个电子邮件地址。

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

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

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

另一个选项是这样的:

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

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

只是想知道最好的选择是什么,以及是否有人对如何开始以及我需要注意的任何安全问题有一些提示。

谢谢!

【问题讨论】:

  • 是的!这样可以吗?

标签: javascript jquery iframe widget wizard


【解决方案1】:

一个&lt;iframe&gt;

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

一个脚本

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

【讨论】:

  • 谢谢!看起来 iFrame 将是要走的路。有没有办法阻止任何人直接访问 iframe src?这将是一个空白页面,上面有一个看起来很奇怪的表单。
  • 我建议你不要这样做。如果你做任何事情,只是阻止机器人索引它,这样一个链接就不会出现在搜索结果中:columbia.edu/acis/webdev/google/nocrawl.html#meta
【解决方案2】:

除了@Dark Falcon 的回答之外,还有几点,

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-09-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多