【问题标题】:Providing a JavaScript link to embed content提供 JavaScript 链接以嵌入内容
【发布时间】:2011-01-14 12:35:32
【问题描述】:

我代表YSTV写信;我们正在考虑为我们的视频提供嵌入选项,我有一个简短的问题。

我们显然可以为用户提供嵌入代码,例如

<embed height="360" width="480" flashvars="backcolor=0xffffff&autostart=false&file=http://ystv.york.ac.uk/static/videos.php?file=1040&autoscroll=false&displayheight=360&width=480&height=360&type=video&amp" allowfullscreen="true" quality="high" name="ystvplayer" src="http://ystv.york.ac.uk/static/flash/mediaplayer4.swf" type="application/x-shockwave-flash" />

这是每个(好吧,所以不是每个,而是绝大多数)视频共享网站(YouTube、Break、Vimeo 等)所做的。

但是,有人指出我们还可以提供一个 JavaScript 嵌入链接,如下所示:

<script type="text/javascript" src="http://full.path/to/embed.js"></script>

embed.js 包含的地方

document.write('EMBED_TAG_PROVIDED_ABOVE');

JS 嵌入选项的缺点是什么?优点是显而易见的,它对用户来说是一个更好的 URL,在他们的站点中放置的字符更少。作为不懂 JavaScript 的人,我担心这里的安全性;这是一种天生不安全的做事方式吗?如果 JavaScript URL 没问题,为什么没有一个知名网站能做到呢?

干杯,

亚历克斯

【问题讨论】:

    标签: javascript video flash embed


    【解决方案1】:

    Google 使用类似的方法来包含他们的 Analytics 代码,因此如果出现安全问题,人们之前会对此表示怀疑。

    使用 NoScript 的人(应该)知道他们在做什么,因此如果他们想观看视频,就可以允许这样做。 JS 来自英国学术领域这一事实可能对您有利。

    至于定制,从您上面的代码中,我看到您通过传递 id 的 php 文件提供视频。我假设您将以相同的方式提供 embed.js 文件,在 URL 中传递视频 ID 并重新编写文件服务器端以在 document.write 中生成正确的嵌入代码。如果是这样,你没有理由不能传递其他变量来允许玩家自定义。

    【讨论】:

      【解决方案2】:

      Noscript(Firefox 插件)可以打开,这将阻止页面上的所有 JS。除此之外没有太大的缺点。现在很多 JS 文件都是为了 CDN 目的而被从站点拉出来的,等等。它的安全性不亚于任何其他运行的 javascript。

      缺点是您也无法自定义。说我想缩小它,或者让它变大。我无法使用 document.write() 访问 vars。我过去使用过这种方法,对我来说效果很好。

      【讨论】:

        猜你喜欢
        • 2015-11-29
        • 2011-09-15
        • 2014-03-08
        • 1970-01-01
        • 1970-01-01
        • 2012-05-03
        • 2017-10-29
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多