将javascript嵌入为base64

Dan*_*son 11 javascript embed base64

我正在研究一个小的GreaseMonkey脚本,我想在其中嵌入一个jQuery插件(Markitup),以便脚本完全自包含(images + js),除了从谷歌提供的jQuery.

我发现网站http://www.greywyvern.com/code/php/binary2base64,如果你对base64编码脚本,你可以用href嵌入javascript,就像从CSS提供basse64图像一样.

<script type="text/javascript" href="data:text/javascript;base64,dmFyIHNjT2JqMSA9IG5ldyBzY3Jv..."></script>
Run Code Online (Sandbox Code Playgroud)

所以我尝试了但是根本无法使用OS X上的Firefox 3.0.5.

我把一个小的测试页面放在一起来隔离问题,但也无法让它在那个页面上工作.

<!DOCTYPE HTML>
<html>
   <head>
      <title>Title</title>
      <meta charset="utf-8">
   </head>
   <body>
      <script href="data:text/javascript;base64,YWxlcnQoJ2FzYWRhc2QnKTsK"></script> 
      <script>alert('a');</script>  
   </body>
</html>
Run Code Online (Sandbox Code Playgroud)

base64字符串(YWxlcnQoJ2FzYWRhc2QnKTsK)说alert('asadasd');我应该得到两个警报,但我看到的唯一警报是第二个警报位于脚本标记内的文本.

我做错了什么或为什么这不起作用,任何想法?

Joh*_*ker 14

也许只是一个想法,但也许"href"应该是"src"而不是.


rom*_*rcz 5

如果您检查脚本标记语法,您会得到

<script src="..."
        ^^^
        src NOT href
Run Code Online (Sandbox Code Playgroud)

顺便说一句,在此处使用数据 URI 在 IE 6 中不起作用。