Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/411.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 Bookmarklet-创建一个Bookmarklet,该Bookmarklet触发一个本地JS文件,以填充当前页面表单中的字段_Javascript_Google Chrome_Bookmarklet - Fatal编程技术网

Javascript Bookmarklet-创建一个Bookmarklet,该Bookmarklet触发一个本地JS文件,以填充当前页面表单中的字段

Javascript Bookmarklet-创建一个Bookmarklet,该Bookmarklet触发一个本地JS文件,以填充当前页面表单中的字段,javascript,google-chrome,bookmarklet,Javascript,Google Chrome,Bookmarklet,我正在尝试创建一个bookmarklet,用于填充当前页面表单上的字段 下面是一个用给定值填充1个字段的简单脚本: javascript:(function(){d=document;e=d.getElementById("ember469");e.value="dummy3@restricted.com";e.blur();})(); 如果我将其存储为书签,则此功能正常工作。现在我想将这个JS存储在我机器中的本地文件中,因为我想填充X个字段,并且我不想维护bookmarklet中的代码 我尝

我正在尝试创建一个bookmarklet,用于填充当前页面表单上的字段

下面是一个用给定值填充1个字段的简单脚本:

javascript:(function(){d=document;e=d.getElementById("ember469");e.value="dummy3@restricted.com";e.blur();})();
如果我将其存储为书签,则此功能正常工作。现在我想将这个JS存储在我机器中的本地文件中,因为我想填充X个字段,并且我不想维护bookmarklet中的代码

我尝试创建一个bookmarklet,使用以下方法调用我的本地js“test.js”:

我从这些链接中得到了这个想法:

下面是我的sample.js内容:

function(){d=document;e=d.getElementById("ember469");e.value="dummy3@restricted.com";e.blur();}
我四处查看了一下,但找不到加载本地js的示例,大多数示例都加载在线js文件

我做不到。我错过了什么

感谢您的帮助

更新: 根据@Shugar下面的回答,我已经更新了sample.js和bookmarklet。我可以看到脚本标签被插入到页面上,但是脚本没有启动。该字段没有填充


我希望以下方法对您有用。(只是稍微编辑了一下发布的代码。)


Bookmarklet:

javascript: (function() {
    var js = document.createElement('script');
    js.setAttribute('src', 'C:/Users/path/to/my/sample.js');
    document.body.appendChild(js);
})();
(function() {
    d = document;
    e = d.getElementById("ember469");
    e.value = "dummy3@restricted.com";
    e.blur();
})();

sample.js:

javascript: (function() {
    var js = document.createElement('script');
    js.setAttribute('src', 'C:/Users/path/to/my/sample.js');
    document.body.appendChild(js);
})();
(function() {
    d = document;
    e = d.getElementById("ember469");
    e.value = "dummy3@restricted.com";
    e.blur();
})();

嗨,谢谢你的回答!我已经用结果更新了我的问题。我可以看到脚本标记被插入,但是sample.js没有被触发-字段没有被填充。嗨,你确定'sample.js'中的操作没有被触发吗?尝试添加第一行,例如
alert(“From'sample.js'”)。在我看来,这个id就像“ember469”一样,只是在网页上被更改了。是的。我确实检查了元素。刚才我尝试了一个示例警报,就像你建议的那样,但即使这样也不起作用。我真的很想知道我遗漏了什么。试着用Chrome(Ctrl+Shift+I)打开web控制台,看看发生的错误。哇!谢谢你的提示。我收到以下错误:
不允许加载本地资源:file:///C:/Users/..../sample.js
我去查一下。