我知道使用基本的JS,您可以阅读<script>
的源代码,如下所示:
<pre id="scriptContents"></pre>
<script id="myScript" type="text/javascript">
var script = document.getElementById('myScript');
var contents = script.innerHTML;
scriptContents.innerText = contents;
</script>
所以我的问题是:在Greasemonkey / Tampermonkey中是否有类似的方法?我希望能够将Greasmonkey脚本的源代码读作字符串。
我问的原因是因为Greasemonkey脚本神奇地包含在页面中,并且没有像上面<script>
块那样的“物理”表示。
更多背景:我正在编写一个脚本,但它需要很多样式,而且还需要一个很难用JavaScript 以可读形式提供的Mustache模板 。我想阻止每个撇号或引号字符的转义,并加入字符串或在行的末尾添加\
。我找到了一个棘手的方法,但仍在寻找替代方案。这是当前版本:
function hereDoc(f) { return f.toString().replace(/^[^\/]*\/\*!/, '').replace(/\*\/[^\/]*$/, ''); }
$('head').append(hereDoc(function() {/*!
<script id="template" type="x-tmpl-mustache">
<div>...
</script>
<style type="text/css">
lots.of #css { code: here; }
</style>
*/}));