首先,我要获取当前打开的网站的URL,并将该值存储在变量中。然后,我声明一个新变量,该变量添加“ view-source:” +带有我先前声明的URL的变量。这会打印出该网站源代码的地址。
我希望能够使用window.open,以便将存储在第二个变量中的新值用作参数内的URL。这是我的代码:
let page = window.location.href;
let sourcecode = "view-source:" + page;
window.open(sourcecode);
我该如何实现? 另外,有没有办法直接通过JavaScript打开源代码?谢谢。
答案 0 :(得分:2)
不幸的是,在主要的浏览器中,禁止打开以<a href
开头的窗口(或具有view-source:
的窗口),这是security issue。
不幸的是,在加载的页面上,没有 generic 的方法来标识视图源内容。但是,在许多情况下,您可以再次获取页面 并检查响应文本。例如,如果您使用的URL是https://jsonplaceholder.typicode.com/,则可以执行以下操作:
fetch('https://jsonplaceholder.typicode.com/')
.then(res => res.text())
.then((responseText) => {
console.log(responseText);
});
如果 HTML中的任何内容都没有改变最终结束标记之前的DOM,那么您可以可靠地检查在分析结束之前运行的脚本标记中的innerHTML
:
console.log(document.documentElement.innerHTML);
但是,如果任何<script>
在DOMContentLoaded之前更改了DOM(很多都这样做),则将无法使用。