Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/426.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何附加将要执行的?_Javascript_Jquery - Fatal编程技术网

Javascript 如何附加将要执行的?

Javascript 如何附加将要执行的?,javascript,jquery,Javascript,Jquery,尝试: 我想做的是附加字符串alertmyString;这是一个必须执行的脚本。。。我该怎么办?是否不正确?在以下内容之前/中添加反斜杠: 您的代码失败,因为它被视为小提琴脚本的结束标记。结果,你的第一把小提琴看起来有点奇怪 注意:如果要执行任意代码字符串,可能更合适。在/in之前添加反斜杠: 您的代码失败,因为它被视为小提琴脚本的结束标记。结果,你的第一把小提琴看起来有点奇怪 注意:如果您想执行任意字符串的代码,可能更合适。使用如下jquery脚本对象尝试执行 var elemFunc = $

尝试:

我想做的是附加字符串alertmyString;这是一个必须执行的脚本。。。我该怎么办?是否不正确?

在以下内容之前/中添加反斜杠: 您的代码失败,因为它被视为小提琴脚本的结束标记。结果,你的第一把小提琴看起来有点奇怪

注意:如果要执行任意代码字符串,可能更合适。

在/in之前添加反斜杠: 您的代码失败,因为它被视为小提琴脚本的结束标记。结果,你的第一把小提琴看起来有点奇怪


注意:如果您想执行任意字符串的代码,可能更合适。

使用如下jquery脚本对象尝试执行

var elemFunc = $('<script>')
    .attr('type', 'text/javascript')
    .html('alert("myString");');

$("#showAlert").click(function () {
    $("#pasteContent").append(elemFunc);
});

使用类似这样的jquery脚本对象进行尝试

var elemFunc = $('<script>')
    .attr('type', 'text/javascript')
    .html('alert("myString");');

$("#showAlert").click(function () {
    $("#pasteContent").append(elemFunc);
});
试试这个:

var elemFunc = '<script>alert("myString");</' + 'script>';
var s = document.createElement("script");
s.type = "text/javascript";
s.src = "http://somedomain.com/somescript";
$("head").append(s);
如果您的HTML中有JS,请尝试以下操作:

var elemFunc = '<script>alert("myString");</' + 'script>';
var s = document.createElement("script");
s.type = "text/javascript";
s.src = "http://somedomain.com/somescript";
$("head").append(s);
如果您的HTML中有JS,请尝试以下操作:

var elemFunc = '<script>alert("myString");</' + 'script>';
var s = document.createElement("script");
s.type = "text/javascript";
s.src = "http://somedomain.com/somescript";
$("head").append(s);
请注意,脚本将加载,您可以访问其中的变量,但在DOM中看不到实际的标记。

尝试以下操作:

var elemFunc = '<script>alert("myString");</' + 'script>';
var s = document.createElement("script");
s.type = "text/javascript";
s.src = "http://somedomain.com/somescript";
$("head").append(s);

请注意,脚本将被加载,您可以访问其中的变量,但在DOM中看不到实际的标记。

因为您将要使用的是eval,而eval是邪恶的,所以您可以使用外部脚本和$.getScript,通过ajax加载它

$.getScript("http://scriptURL.com/script.js", function(){ init(); });

由于您将要做的等同于eval,而eval是邪恶的,所以您可以使用外部脚本和$.getScript,通过ajax加载它

$.getScript("http://scriptURL.com/script.js", function(){ init(); });

为什么不从点击处理程序内部执行脚本呢?出于许多动机。。。现在很难解释…我是疯了,还是没人注意到上面ie的一般方式。除了任何其他代码问题之外,它永远不会工作,因为附加的脚本本身并没有包含在标记中?为什么不从单击处理程序内部执行脚本?出于许多动机。。。现在很难解释……我是不是疯了,或者没有人注意到上面提到的ie的一般方式。除了任何其他代码问题之外,它永远不会工作,因为附加的脚本本身并没有包含在标记中?@JKirchartz他当前的方法类似于jQuery.globalEval,但不整洁。他没有给出用例的背景细节,但我认为他肯定需要它。请看OP@JKirchartz。他当前的方法类似于jQuery.globalEval,但不整洁。他没有给出用例的背景细节,但我想他肯定需要它,请看OP。我确实看到我的DOM正在更新,但脚本赢了;我确实看到我的DOM被更新了,但是脚本赢了;他不能被处决。