故事背景:
我有几个网页,我需要在其中完成很多输入字段的数据;
为了不浪费时间(在测试时),我有一个 JavaScript 文件可以帮助我(我在 e2e 测试中使用它);
- 我在浏览器中创建了一个书签,并将其添加为 URL:
URL VALUE: javascript:(function()document.body.appendChild(document.createElement('script')).src='../path_to_another_js_file.js')();
- 此路径
src='../path_to_another_js_file.js'
将打开一个包含以下内容的 js 文件:
(function ($) {
var fieldData = {
"ContactData.EMail": "test@test.com",
"ContactData.EMailConfirmation": "test@test.com",
etc...
};
})(jQuery);
问题:
我想从书签中删除 src='../path_to_another_js_file.js'
而不是该路径,以将此外部文件中的函数作为字符串传递,如下所示:
javascript:(function()document.body.appendChild(document.createElement('script'))
.textContent(String(
(function ($) {
var fieldData = {
"ContactData.EMail": "test@test.com",
"ContactData.EMailConfirmation": "test@test.com",
//etc...
};
})(jQuery);
))})();
在任何情况下我都不能这样做,因为它不会被执行/它甚至不会在我的 FE 中创建 js 脚本,因为一些语法问题。
你们有没有遇到过和我一样的情况?? 10倍
最佳答案
您的代码应如下所示:
javascript:(function ($) {
var fieldData = {
"ContactData.EMail": "test@test.com",
"ContactData.EMailConfirmation": "test@test.com",
etc...
};
})(jQuery);
不需要脚本标签。此外,您在 bookmarkelet 的主要功能中缺少花括号时出错。
关于javascript - 将 jQuery 函数作为字符串传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57820741/