2017-01-22 70 views
0

我们可以在react render中使用dangerouslySetInnerHTML在dom中正确加载html字符串。但是,如果我们可以在html字符串中添加一些javascript或jquery代码,我们该怎么做。例如下面。带有javascript/jquery的html作为api响应。用react.js中的javascript/jquery字符串呈现html

var htmlString = "<div>Hello</div><script>alert('hello')</script>" 

回答

-1

只需用jQuery

<html> 
<head> 
<script src="https://code.jquery.com/jquery-3.1.0.min.js"></script> 
</head> 
<body> 
<button class="btn" onclick="myfunction()">Click me ! </button> 
<script> 
function myfunction() { 
$('<script>alert("hi");</' + 'script>').appendTo(document.getElementById('output')); 
} 
</script> 
<div id="output"></div> 
</body> 
</html> 
0

你可以找到脚本部分和其他部分有:

var div = document.createElement('div'); 
    div.innerHTML = htmlString; 
    var scripts = div.getElementsByTagName('script'); 
    var i = scripts.length; 
    while (i--) { 
    scripts[i].parentNode.removeChild(scripts[i]); 
    } 

然后可以使用scriptsdiv.innerHTML

有许多如何添加脚本标签,其中一些可以在这里看到:

Adding script tag to React/JSX