我遇到了一些嵌入式javascript,例如
<script src="http://player.ooyala.com/player.js?embedCode=5oZDBoMzreLfI78xe1sCSLDmQQFyhXym&deepLinkEmbedCode=5oZDBoMzreLfI78xe1sCSLDmQQFyhXym"></script>
我想知道如何动态执行此操作。原因是,我希望能够将代码保存在数据库中,然后稍后执行它。
我已经尝试过将$ .get与url一起使用并在响应中做一个eval而没有运气。
如果这对解决方案有帮助,我会使用jQuery。
我怎么能这样做?感谢。
答案 0 :(得分:2)
您正在寻找$.getScript("http://player.ooyala.com/player.js?embedCode=5oZDBoMzreLfI78xe1sCSLDmQQFyhXym&deepLinkEmbedCode=5oZDBoMzreLfI78xe1sCSLDmQQFyhXym")
。
请注意,如果脚本使用document.write
,则无法执行此操作。
答案 1 :(得分:1)
您可以使用jquery
将整个字符串附加到正文编辑:必须逃避一些角色
$("body").append('\<script src="http://player.ooyala.com/player.js?embedCode=5oZDBoMzreLfI78xe1sCSLDmQQFyhXym&deepLinkEmbedCode=5oZDBoMzreLfI78xe1sCSLDmQQFyhXym"\>\<\/script\>');
答案 2 :(得分: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
答案 3 :(得分:0)
如果它支持CORS然后使用jQuery的$.globalEval()
来评估响应,你可以请求它 - 它在script
元素内执行(来自内存)。
或者,在加载时删除script
元素,然后在想要再次使用时将其注入。