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

时间:2012-04-05 16:49:42

标签: javascript jquery iframe

在我的项目中,

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

我现在使用的是:

<script type='text/javascript'>
var user = 'abc';
var age = '23';

document.write('<iframe src="http://www.mysite.com/page.php?user='+ user + '&age=' + age + '" ></iframe');
</script>

在page.php中,

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

我的方法很好。

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

以google adsense代码为例。

<script type='text/javascript'>
 var a = 'somedata';
 var b = 'someotherdata';
</script>

<script type='text/javascript' src='http://www.google.com/adsenseurl.js'></script>

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

所以,现在问题。

使用谷歌方法的优点是什么?我的方法有什么不对?

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

2 个答案:

答案 0 :(得分:2)

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

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

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

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

答案 1 :(得分:0)

为什么要使用iframe?如果您的用户加载了<script src='yoursite.com/something.js'></script>,您就可以立即访问他的DOM,并且您可以通过something.js执行任何操作。与从某些CDN加载jQuery的方式相同 - 它可以立即用于修改DOM。

否则除了:

之外没有什么区别
  1. 他只是提供必要的变量,而只是链接到页面上的脚本,而不是嵌入用户必须维护的大量代码。
  2. 您可以更新服务器上的js代码,并确保所有您的用户立即(减去缓存)与新功能保持同步。
  3. 可能还有其他优点,但我相信这两个应该足够了。