JS:Bookmarklet - 创建一个bookmarklet,触发本地js文件以填充当前页面形式的字段

时间:2017-07-18 10:03:58

标签: javascript google-chrome bookmarklet

我正在尝试创建一个书签,用于填充当前页面上的字段。

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

javascript:(function(){d=document;e=d.getElementById("ember469");e.value="dummy3@restricted.com";e.blur();})();

如果我将商店存储为书签,则此功能正常。现在我想把这个JS存储在我机器上的本地文件中,因为我想填充X个字段,我不想在书签中维护代码。

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

javascript:(function(){var js=document.createElement('script');js.setAttribute('src', 'C:/Users/path/to/my/sample.js');document.body.appendChild(js);}());

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

这是我的sample.js内容:

function(){d=document;e=d.getElementById("ember469");e.value="dummy3@restricted.com";e.blur();}

我环顾四周但是我找不到加载本地js的示例,大多数示例正在加载一个在线js文件。

我无法完成这项工作。我错过了什么?

任何帮助表示赞赏!!

更新 基于@ Shugar的答案,我已经更新了我的sample.js和bookmarklet。我可以看到脚本标记插入到页面上,但该脚本不会触发。该字段未填充。

enter image description here

1 个答案:

答案 0 :(得分:1)

我希望以下方式对您有用。 (刚刚编辑了一些发布的代码。)


小书签:

javascript: (function() {
    var js = document.createElement('script');
    js.setAttribute('src', 'C:/Users/path/to/my/sample.js');
    document.body.appendChild(js);
})();


sample.js:

(function() {
    d = document;
    e = d.getElementById("ember469");
    e.value = "dummy3@restricted.com";
    e.blur();
})();