Execute JavaScript code stored as a string

前端 未结 20 1052
北荒
北荒 2020-11-22 08:58

How do I execute some JavaScript that is a string?

function ExecuteJavascriptString()
{
    var s = \"alert(\'hello\')\";
    // how do I get a browser to al         


        
20条回答
  •  滥情空心
    2020-11-22 09:17

    I was answering similar question and got yet another idea how to achieve this without use of eval():

    const source = "alert('test')";
    const el = document.createElement("script");
    el.src = URL.createObjectURL(new Blob([source], { type: 'text/javascript' }));
    document.head.appendChild(el);
    

    In the code above you basically create Blob, containing your script, in order to create Object URL (representation of File or Blob object in browser memory). Since you have src property on

提交回复
热议问题