gpt4 book ai didi

javascript - 在innerHTML中注入(inject)javascript是不应该起作用的,那么为什么它在这里起作用呢?

转载 作者:行者123 更新时间:2023-12-02 15:16:20 25 4
gpt4 key购买 nike

根据此线程Can scripts be inserted with innerHTML? 在innerHTML中注入(inject)一些javascript是行不通的。

那么为什么它在这种情况下有效:

<BR>
Below is the code injected with a div
</BR>
<div id="div_content">
</div>

<script>
function HttpRequest(url){
var pageRequest = false //variable to hold ajax object
/*@cc_on
@if (@_jscript_version >= 5)
try {
pageRequest = new ActiveXObject("Msxml2.XMLHTTP")
}
catch (e){
try {
pageRequest = new ActiveXObject("Microsoft.XMLHTTP")
}
catch (e2){
pageRequest = false
}
}
@end
@*/

if (!pageRequest && typeof XMLHttpRequest != 'undefined')
pageRequest = new XMLHttpRequest()

if (pageRequest){ //if pageRequest is not false
pageRequest.open('GET', url, false) //get page synchronously
pageRequest.send(null)
embedpage(pageRequest)
}
}

function embedpage(request){
//if viewing page offline or the document was successfully retrieved online (status code=2000)
if (window.location.href.indexOf("http")==-1 || request.status==200)
///document.write(request.responseText)
div_content.innerHTML = request.responseText;
}

HttpRequest("http://localhost/ajax/injecthtml/demo4/external.html") //include "external.html" onto current page
</script>

外部.html

<img src="google.jpg" alt="" width="" height="" onclick="alert('Embedded Javascript within innerHTML works !!!')">
<br>
<img src="google.jpg" alt="" width="" height="" onclick="alert('Embedded Javascript within innerHTML works !!!')">

最佳答案

当您加载页面时,Javascript 并未被执行。您刚刚加载<img>具有 onclick 的标签属性,当您单击它们时,属性中的代码就会被执行。这只是普通的 HTML。

当你分配给 .innerHTML 时,什么不会被执行是 <script>标签。

关于javascript - 在innerHTML中注入(inject)javascript是不应该起作用的,那么为什么它在这里起作用呢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34448869/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com