iframe v / s外部js(在其他网站上显示我的网站内容)

在我的项目中,

我创建了一个代码片段,可以复制然后放入任何网站。 它在其他网站上显示我的内容。

我现在使用的是:

 var user = 'abc'; var age = '23'; document.write('</iframe');  

在page.php中,

我根据userage进行一些处理并显示动态内容。

我的方法很好。

但是当我研究一些很好的标准方法来完成这些任务时,我发现了一种不同的方式。

以google adsense代码为例。

  var a = 'somedata'; var b = 'someotherdata';   

我猜,因为ab是全球性的; adsenseurl.js必须使用它,最后他们可能会在iframe上显示它。

所以,现在问题。

使用谷歌的方法有什么好处,我的方法有什么不对?

ps我知道我应该尽量避免使用iframe,但我没有看到任何其他方法来实现这一目标。

您的方法和adSense之间的主要区别在于我认为您的代码必须放在广告必须出现的位置并加载adsense等脚本,他们可以在检查页面后将iframe放入DOM中 – 使用

 var myIframe = document.createElement('iframe'); . . someDOMObject.appendChild(myIframe); 

和/或操纵zindex将iframe浮动到页面上方

最后,iFrame非常有用(无论你有没有“哦,没有 – 你可能会听到iframe是邪恶的”),因为你可以使用你喜欢的任何css和jquery。 如果您所在的页面已经设置了div和旧版本的jQuery样式,那么您将需要做更多工作才能使其看起来像您想要的那样。

为什么要使用iframe? 如果您的用户加载 ,您可以立即访问他的DOM,您可以通过该something.js做任何您想做的something.js 。 与从某些CDN加载jQuery的方式相同 – 它可以立即用于修改DOM。

否则除了以下情况之外没有任何区别:

  1. 他只是提供必要的变量,而只是链接到页面上的脚本,而不是嵌入用户必须维护的大量代码。
  2. 您可以更新服务器上的js代码,并确保所有用户立即(减去缓存)与新function保持同步。

可能还有其他优点,但我相信这两个应该足够了。