admin管理员组

文章数量:1333628

For example:

<html>
    <div id="media">123</div>
    <a href="javascript:void(0)" onClick="return fun()">Click</a>
    <script type="text/javascript">
        function fun() {
            document.getElementById("media").innerHTML = '<script type="text/javascript">alert("working");<\/script>';
        }
    </script>
</html>

After you click the alert does not show.

alert("working"); is just an example. I want it to finish one job other javascript . I have a job to be processed through ajax should have used innerHTML

For example:

<html>
    <div id="media">123</div>
    <a href="javascript:void(0)" onClick="return fun()">Click</a>
    <script type="text/javascript">
        function fun() {
            document.getElementById("media").innerHTML = '<script type="text/javascript">alert("working");<\/script>';
        }
    </script>
</html>

After you click the alert does not show.

alert("working"); is just an example. I want it to finish one job other javascript . I have a job to be processed through ajax should have used innerHTML

Share Improve this question edited Mar 15, 2013 at 4:59 user2171180 asked Mar 14, 2013 at 18:52 user2171180user2171180 191 silver badge5 bronze badges 1
  • Possible dupplicate of stackoverflow./questions/1068517/…. – antoyo Commented Mar 14, 2013 at 18:56
Add a ment  | 

3 Answers 3

Reset to default 7

The HTML spec specifies that script tags inserted using innerHTML should not be executed. This is a security consideration.

There are still ways to do this if you are determined, such as adding it to img handlers or creating a script element, inserting it into the DOM and changing its text property. I will not elaborate on these, since doing this is generally considered somewhat sketchy. If you are not trying to inject script, you should include the script element in the page source.

<script type="text/javascript">

function fun() {
    alert("working");
}
</script>

<div id="media">123</div> <a href="javascript:void(0)" onClick="fun();">Click</a>

Your JS function should be like this.

function fun() {
  alert("working");
}

本文标签: javascript in innerhtml not workingStack Overflow