【发布时间】:2020-11-17 15:10:32
【问题描述】:
考虑以下 HTML:
<html>
<body>
<p>Paragraph</p>
<meta id="meta" http-equiv="refresh">
</body>
<script type="text/javascript"> document.getElementById("meta").content="1;url=data:text/html;base64,PFNDUklQVD5hbGVydCgiUHduZWQiKTs8L1NDUklQVD4=";
</script>
</html>
如果您在 chrome url 地址栏中键入 data:text/html;base64,PFNDUklQVD5hbGVydCgiUHduZWQiKTs8L1NDUklQVD4=。您将收到警报。 但是当您在上面的元标记中使用它时,它不会发生。 它显示了一些错误 - 不允许将顶部框架导航到数据 URL:data:text/html;base64,PFNDUklQVD5hbGVydCgiUHduZWQiKTs8L1NDUklQVD4=
主要是我想自动重定向到不同的页面。但是使用base64编码的url。 如果我这样做 该页面确实会在一秒钟后重定向到 google.com。 但是当我将其更改为 content="1;data:text/html;base64,aHR0cHM6Ly93d3cuZ29vZ2xlLmNvbQ==" 我得到同样的错误 - 不允许将顶部框架导航到数据 URL 即使您在浏览器地址栏中粘贴字符串:data:text/html;base64,aHR0cHM6Ly93d3cuZ29vZ2xlLmNvbQ== 它也会显示http://www.google.com
我想在 HTML 中使用 javascript 或直接执行此操作。 有什么方法可以实现吗?
谢谢
【问题讨论】:
-
"但是使用 base64 编码的 url" - 但是为什么呢?只需使用实际的 url。
-
除了“不允许将顶部框架导航到数据 URL”错误之外,您的方法是错误的。您没有重定向到编码的 url 地址,而是重定向到其 content 是数据的纯页面(实际上应该是 html 文档,但仍显示纯文本 url)。
标签: javascript html meta data-uri