Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript iFrame或远程JS文件_Javascript_Html_Iframe - Fatal编程技术网

Javascript iFrame或远程JS文件

Javascript iFrame或远程JS文件,javascript,html,iframe,Javascript,Html,Iframe,我有一个复杂的网页,可以定制,应该嵌入一些客户的网站。对于每个客户机,它看起来应该是相同的,但参数可能会略有不同。该页面还包含一个自定义对象,该对象在浏览器中使用插件 我有两个想法来实现这一点: 使用iFrame-所以我只需嵌入我的页面并在 质询 使用远程JS文件-如Facebook SDK和其他 工作在JS代码中传递参数。据我所知,我可以在页面和远程JS文件上放置一些“parent”div,这将用所需的元素填充parent div 我应该用哪一个?每种方法的优缺点是什么 谢谢 看一看哪一个对你

我有一个复杂的网页,可以定制,应该嵌入一些客户的网站。对于每个客户机,它看起来应该是相同的,但参数可能会略有不同。该页面还包含一个自定义对象,该对象在浏览器中使用插件

我有两个想法来实现这一点:

  • 使用iFrame-所以我只需嵌入我的页面并在 质询
  • 使用远程JS文件-如Facebook SDK和其他 工作在JS代码中传递参数。据我所知,我可以在页面和远程JS文件上放置一些“parent”div,这将用所需的元素填充parent div
  • 我应该用哪一个?每种方法的优缺点是什么

    谢谢

    看一看哪一个对你想要实现的目标有着深入的了解

    IFrame的优点:

    如果mashup页面的所有者真的关心小部件中运行的安全性和恶意脚本,那么最好使用IFRAME方法,因为小部件的脚本对主机页面的访问是有限的,因此不会对嵌入它的页面造成太大的伤害

    此外,如果小部件的所有者想要控制他/她的小部件的布局和样式,那么这种方法更可取。由于IFRAME本质上是一个单独的网页,mashup的CSS脚本不会对小部件造成太大的伤害

    缺点:

    它速度慢、资源密集(在浏览器上),并且不能让mashup页面的所有者按照他/她想要的方式来设计小部件


    不久前我也遇到过类似的问题。根据插件的安全性和灵活性,您可以选择三个选项

    iframe 专业人士

    • 相当安全-您可以仅向specyfic用户提供应查看的数据,并允许将敏感数据传递给您的服务。包含插件的页面将无法访问它
    • 包含iframe的页面将无法修改其内容以迷惑用户
    缺点

    • 插件和页面之间的通信有限(可以通过窗口发布消息/端口之间的通信来解决,但这并不完美)
    • 页面仍然可能欺骗用户相信他们看到了你的插件,而展示自己的副本或使用点击
    • 如果您包括来自第三方服务器的任何资产,那么您已经失去了一点安全性
    • 局限于直肠肌盒
    剧本 专业人士

    • 非常灵活
    • 易于实现各种回调以对页面上的事件作出反应
    • 快速
    • 可以以多种不同的方式和地点与页面界面集成
    缺点

    • 基本上可以通过包含它的页面以任何可能的方式进行修改。你无法控制用户最终会看到什么
    通过服务重定向,然后返回 专业人士

    • 最安全的解决方案
    缺点

    • 最难无缝集成
    • 可能不会与使用插件的网站的其他元素交互(因为当用户看到您的插件时,他们不再看到源网站)

    @Kamyar关于js文件方法的利弊如何?看看那篇文章中的
    嵌入式Widget:Background,pros and cons
    。另外,我从提供第三方js Widget的三部分说明中学到了很多。感谢您的精彩评论。我想在“脚本”中补充一点,缺点之一是更麻烦的包含。使用iFrame,您可以使用脚本方法,仅使用一行代码-您至少需要一个容器和一个脚本,可能还需要更多的参数。实际上,您可以通过
    createElement
    函数构造容器。例如,在
    script
    tag的正上方,让开发人员知道它将在哪里着陆。