Iframe v/s external js(在其他网站上显示我网站的内容)

Iframe v/s external js (to show my website's content on other websites)

本文关键字:网站 显示 其他 external js Iframe      更新时间:2023-09-26

在我的项目中,

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

我现在使用的是:

<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>

在第 .php 页中,

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

我的方法效果很好。

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

以谷歌广告感知代码为例。

<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上显示它。

所以,现在的问题来了。

使用谷歌的方法有什么优势,我的方法有什么问题?

附言我知道我应该尽量避免使用 iframe,但我看不到任何其他方法可以做到这一点。

您的方法与 adSense 之间的主要区别在于,在我看来,您的代码必须放置在广告必须出现的位置并加载像 adsense 这样的脚本,他们可以在检查页面后将 iframe 放在 DOM 中 - 使用

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

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

最后,iFrame很有用(不管你可能会听到"哦,不 - iframe是邪恶的"),因为你可以使用任何你喜欢的css和jquery。如果你所在的页面已经有样式化的div和旧版本的jQuery,你将有更多的工作来让它看起来像你想要的。

为什么要使用iframe?如果您的用户加载<script src='yoursite.com/something.js'></script>,您可以立即访问他的 DOM,您可以通过该something.js做任何您想做的事情。就像你从一些CDN加载jQuery一样 - 它可以立即用于修改DOM。

否则真的没有区别,除了:

  1. 他没有嵌入用户必须维护的潜在大量代码,而只是提供必要的变量并简单地链接到页面上的脚本。
  2. 您可以更新服务器上的 js 代码,并确保所有用户立即(减去缓存)使用新功能进行更新。

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