从Greasemonkey脚本

时间:2015-05-30 18:16:37

标签: javascript reflection greasemonkey self-reference

我知道使用基本的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>
*/}));

0 个答案:

没有答案