Jquery te如何停止javascript执行?

Jquery te如何停止javascript执行?,javascript,jquery,Javascript,Jquery,我支持的应用程序使用jquery te:。当我在html编辑器中插入javascript代码(如alert(“Hello!”)时,它会立即执行。如何在编辑html文本时禁用它的执行?我通过编辑jquery-te-1.4.0.js文件中的源代码解决了这个问题。 首先,我添加了3个新变量: var scripts = []; var htmlWithoutScripts = ""; var scriptPattern = /<script\b[^>]*>(.

我支持的应用程序使用jquery te:。当我在html编辑器中插入javascript代码(如alert(“Hello!”)时,它会立即执行。如何在编辑html文本时禁用它的执行?

我通过编辑jquery-te-1.4.0.js文件中的源代码解决了这个问题。 首先,我添加了3个新变量:

    var scripts = [];
    var htmlWithoutScripts = "";
    var scriptPattern = /<script\b[^>]*>(.*?)<\/script>/g;
改为

scripts = thisElementVal.match(scriptPattern);
htmlWithoutScripts = thisElementVal.replace(scriptPattern , "");
editor.attr("contenteditable","true").html(htmlWithoutScripts);
editor.attr("contenteditable","true").val(thisElementVal);
第三个是更改函数postToSource()中的逻辑(第988行)。 增加:

之前:

thisElement.val(extractToText(sourceStrings));
最后一个是更改函数postToEditor()中的逻辑(第997行)

删除:

editor.html(extractToText(thisElement.val()));
增加:

var htmlContent = thisElement.val();
scripts = htmlContent.match(scriptPattern );
htmlWithoutScripts = htmlContent.replace(scriptPattern , "");
editor.html(extractToText(htmlWithoutScripts));
editor.val(extractToText(htmlContent));

如果你有什么意见,请用逗号写。

我认为你不改变来源就无法做到这一点(至少我没有找到任何东西)。如果您愿意更改源代码,请尝试查看它将文本区域内容插入显示div的位置,这可能是一个更改事件。然后在那之前去掉脚本标签。您可以询问在这个过程中是否有任何疑问。谢谢您的回答。我解决了这个问题。我更改了jquery-te-1.4.0.js文件中的源代码。更改:第263行:来自editor.attr(“contenteditable”,“true”).html(thisElementVal);到editor.attr(“contenteditable”,“true”).val(thisElementVal);第999行:来自editor.html(extractToText(thiseElement.val());到editor.val(extractToText(thisElement.val());如果可以,请回答您自己的问题,并将其标记为已接受的答案。这更有可能帮助未来的游客。我急急忙忙。此方法解决了执行javascript代码的问题,但我无法在预览中看到内容。如果它不是你的库,你不应该编辑它的代码。扩展它,或移动到新的one@blgt编辑一个开源项目来满足您的需求有什么不对?当然,最好是克隆回购协议,这样你就可以推动以后的修改。甚至提交您的更改以造福未来用户。但更改代码是操作系统许可证的重点…@Andre这与许可证无关,只是因为下一个维护它的人将完全无法这样做。OTOH,当你克隆repo时,你基本上把代码变成了你自己的,维护人员会知道你对特定版本进行了分叉和修改。
editor.html(extractToText(thisElement.val()));
var htmlContent = thisElement.val();
scripts = htmlContent.match(scriptPattern );
htmlWithoutScripts = htmlContent.replace(scriptPattern , "");
editor.html(extractToText(htmlWithoutScripts));
editor.val(extractToText(htmlContent));