
[英]PHP variable contains HTML and JavaScript. Injecting it into HTML through JavaScript not working
[英]Injecting HTML that contains JS
对于如何将HTML注入无法编辑的HTML中,我得到了一些很好的提示。
现在的麻烦是,该片段包含了无法呈现到页面的JS。
jQuery看起来像这样:
$(document).ready(function() {
var $body = $(document.body);
if ($body.is(".ly_productdetails.ProductDetails.en.en_GB")) {
$('.info_section').prepend('<div id="test-widget"></div><script type="text/javascript" src="/frontend/latest/build.min.js" data-test="test-widget" data-instance="xyz" data-apikey="12345678" data-tags="" async="async"></script>');
}
});
我试过在引号前加上反斜杠,但这没用。
您还可以如何将其写到页面上以便包含JS?
非常感谢,
亚当
JSfiddle: https ://jsfiddle.net/fs6qgzrj/
这是一项安全功能。 jQuery允许HTML代码中的<script>
元素,但不会执行(至少src="..."
部分;内联脚本有效)。 这是因为jQuery无法确保脚本不是恶意的或来自安全来源(代码中的错误可能使人们可以在表单元素中输入脚本)。
改用jQuery.getScript(url, successCallack)
。
看起来jQuery在解析HTML时不会加载外部脚本。 但是,如果您创建脚本元素,它将:
$('body').prepend($('<script>', { src: 'http://dev.bridgebase.com/barmar_test/test.js' }));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.