0

我遇到了一些嵌入的javascript,例如

<script src="http://player.ooyala.com/player.js?embedCode=5oZDBoMzreLfI78xe1sCSLDmQQFyhXym&deepLinkEmbedCode=5oZDBoMzreLfI78xe1sCSLDmQQFyhXym"></script>

我想知道如何动态执行此操作。原因是,我希望能够将代码保存在数据库中,然后稍后即时执行。

我已经尝试过使用带有 url 的 $.get 并对响应进行 eval 没有运气。

如果这有助于解决问题,我会使用 jQuery。

我该怎么办?谢谢。

4

4 回答 4

2

你正在寻找$.getScript("http://player.ooyala.com/player.js?embedCode=5oZDBoMzreLfI78xe1sCSLDmQQFyhXym&deepLinkEmbedCode=5oZDBoMzreLfI78xe1sCSLDmQQFyhXym").

请注意,如果脚本使用document.write,这是不可能的。

于 2012-04-18T23:07:12.850 回答
1

您可以使用:$.getScript("http://player.ooyala.com/player.js?embedCode=5oZDBoMzreLfI78xe1sCSLDmQQFyhXym&deepLinkEmbedCode=5oZDBoMzreLfI78xe1sCSLDmQQFyhXym&playerContainerId=myplayer")

注意playerContainerId=myplayer部分。

如果您想将播放器添加为 div 的 innerHtml 而不是 document.write(),Ooyala 有一个 playerContainerId 参数。

http://support.ooyala.com/developers/documentation/api/player_examples_qpass.html

于 2012-04-19T00:00:35.347 回答
1

您可以使用 jquery 将整个字符串附加到正文

编辑:必须转义一些字符

$("body").append('\<script src="http://player.ooyala.com/player.js?embedCode=5oZDBoMzreLfI78xe1sCSLDmQQFyhXym&deepLinkEmbedCode=5oZDBoMzreLfI78xe1sCSLDmQQFyhXym"\>\<\/script\>');​
于 2012-04-18T23:06:26.200 回答
0

如果它支持 CORS,您可以请求它,然后使用 jQuery$.globalEval()来评估响应 - 它在script元素内(从内存中)执行。

或者,在加载时删除script元素,然后在您想再次使用它时注入它。

于 2012-04-18T23:05:46.490 回答