有没有办法将我的域外弹出窗口的源代码保存为字符串,由以下方式打开:
window.open('html');另外,解决问题的另一种方法是将弹出窗口的输出定向为字符串。我可以使用chrome的view-source:浏览器功能来制作弹出窗口:
window.open('view-source:html');因为我只将它用于个人使用,所以它只能与Chrome兼容,如果这是唯一的方法。
发布于 2012-09-17 05:29:19
我建议加载您想要在弹出窗口中打开的文档,并提取其innerHTML,如下所示:
var popup = window.open('http://url.com');
// documentElement is the <html> element so you would get everything inside
var source = popup.document.documentElement.innerHTML;这在IE上有效。我不太确定Chrome对跨域弹出窗口的限制是什么,所以你可能需要检查一下你的本地设置。
发布于 2012-09-17 15:21:16
如果你真的想构建一个小应用来完成你描述的事情,记住你可以在Chrome中右击并查看几乎任何页面源代码,包括标签、主页和其他一些地方。无论是否具有讽刺意味,View source页面是我发现的唯一一个我似乎无法获得源代码的页面,尽管我似乎找到了它的URI是什么:
chrome-devtools://devtools/devtools.html但是,除了我search for that URI之外,什么都没有出现。下面是一些可以打开并尝试Right-Click + View Source的URI,看看会得到什么:
* Regular tab (new)
* view-source:chrome://newtab/
* view-source:chrome://extensions-frame // This has file handlers for extensions
* view-source:chrome://settings-frame/settings // Go to lines `2907`
* view-source:chrome://memory-redirect/
* view-source:chrome://downloads/
* view-source:chrome://settings-frame/options_bundle.js // This one has all kinds of good stuff
* view-source:chrome://resources/js/util.js
* view-source:chrome://chrome/uber.js
* view-source:chrome://sync-internals/
* view-source:chrome://resources/js/cr/ui/array_data_model.js
* view-source:chrome://resources/js/cr/ui/list_item.js
* view-source:chrome://resources/js/cr/ui/tabs.js下面是两个练习计划,您可以从中找到更多内容:
http://developer.chrome.com/extensions/tabs.html#samples
, -下面显示的是如何将侦听器附加到`window.onlaod事件,并在收到响应时收到通知,以便您可以获取源代码(而不是浏览器的已解析和计算的源代码)。
window.addEventListener("load", function() {
chrome.debugger.sendCommand({tabId:tabId}, "Network.enable");
chrome.debugger.onEvent.addListener(onEvent);
});
} else if (message == "Network.responseReceived") {
appendResponse(params.requestId, params.response);
}-来自名为的文件的第二个a。
// Send back to the popup a sorted deduped list of valid link URLs on this page.
// The popup injects this script into all frames in the active tab.
chrome.extension.sendRequest(links);
// Download all visible checked links.
chrome.experimental.downloads.download({
url: visibleLinks[i]},
function(id) {
});当然,这里有一个叫做的程序,它是一个扩展。它似乎能做你想做的事情(或者你可以只下载parts it's comprised of separately):
SingleFile (c) 2011年Gildas Lormeau
SingleFile是一个Chrome扩展,可以帮助将整个页面归档到一个单独的HTML文件中。
坏消息是,我担心其中有相当多是有用的,因为现在我已经看了很多它和其他资源,我认为相当多的只是内部浏览器。请注意示例应用程序,并记住有不同用途和访问级别的several different kinds of apps。
不用说,我发现了一大堆东西,我不知道你想要、需要或关心其中的多少。但我想既然你让我再次思考,我就继续和你分享我的发现。我认为有几个示例应用程序可以重新配置或使用,以便为您工作。祝好运。
其他一些亮点:
OptionsPage,似乎是浏览器与chrome.tabfiler.js,交互的方式。Chromedocument.getElementsByTagName('html')[0].innerHTML类,包括window.loadchrome.tabschrome / browser / resources,,很可能就是您所需要的chrome.* APIschrome / browser / resources / file_manager / jschrome-toolboxchrome / browser / resources / extensionshttps://stackoverflow.com/questions/12450755
复制相似问题