我有一个嵌入了 JavaScript 的 HTML 文件,如下所示:
<script src="data:application/x-javascript;base64,LyohIGpRdWVyeSB2MS4xMS4z ... ></script>
我发现它就像普通的 JavaScript,但在 Base64 coding 中.
我用了https://www.base64decode.org/解码JavaScript,发现它只是jQuery库。
现在我想知道在 Base64 中对 jQuery 进行编码而不是仅仅使用 <script type="application/javascript">
加载它的原因是什么? ?特别是如果它比原始文本( Why the size of base64-encoded string is larger than the original file )还要大!
编辑:查看以下脚本:https://gist.github.com/kristian-lange/7605e6cd2c643313022eb796e15458fa .
最佳答案
可能是因为人们不知道如何使用正确的编码,然后更喜欢使用 base64,即使编码错误,它通常也能工作。
例如,这应该有效:
<script src="data:text/javascript,console.log('âàáäã')"></script>
但是,如果您在 UTF-8 文件中使用它,但不告诉浏览器编码,它可能会认为它类似于 windows-1252,并将其解析为
<script src="data:text/javascript,console.log('âà áäã')"></script>
如果使用base64,则会是
<script src="data:text/javascript;base64,Y29uc29sZS5sb2coJ8Oiw6DDocOkw6MnKQ=="></script>
浏览器可能会正确解释它,即使它尝试使用错误的编码来读取它。
关于javascript - 为什么 JavaScript 使用 Base64 编码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38553414/