首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否将弹出窗口的源代码保存为字符串?

是否将弹出窗口的源代码保存为字符串?
EN

Stack Overflow用户
提问于 2012-09-17 05:09:00
回答 2查看 3.6K关注 0票数 0

有没有办法将我的域外弹出窗口的源代码保存为字符串,由以下方式打开:

代码语言:javascript
复制
window.open('html');

另外,解决问题的另一种方法是将弹出窗口的输出定向为字符串。我可以使用chrome的view-source:浏览器功能来制作弹出窗口:

代码语言:javascript
复制
window.open('view-source:html');

因为我只将它用于个人使用,所以它只能与Chrome兼容,如果这是唯一的方法。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-09-17 05:29:19

我建议加载您想要在弹出窗口中打开的文档,并提取其innerHTML,如下所示:

代码语言:javascript
复制
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对跨域弹出窗口的限制是什么,所以你可能需要检查一下你的本地设置。

票数 0
EN

Stack Overflow用户

发布于 2012-09-17 15:21:16

如果你真的想构建一个小应用来完成你描述的事情,记住你可以在Chrome中右击并查看几乎任何页面源代码,包括标签、主页和其他一些地方。无论是否具有讽刺意味,View source页面是我发现的唯一一个我似乎无法获得源代码的页面,尽管我似乎找到了它的URI是什么:

代码语言:javascript
复制
chrome-devtools://devtools/devtools.html

但是,除了我search for that URI之外,什么都没有出现。下面是一些可以打开并尝试Right-Click + View Source的URI,看看会得到什么:

代码语言:javascript
复制
* 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事件,并在收到响应时收到通知,以便您可以获取源代码(而不是浏览器的已解析和计算的源代码)。

代码语言:javascript
复制
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。

代码语言:javascript
复制
// 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.tab
  • filer.js,交互的方式。Chrome
  • Chrome App Samples @GitGub的HTML5文件repository
  • Hello World
  • document.getElementsByTagName('html')[0].innerHTML类,包括window.load
  • chrome.tabs
  • Content Scripts上的Filesystem Access Example
  • Another sample extensions API,以及with...
  • Programmatic injection and
  • Communication with the embedding page
  • The Dev Tools source page
  • chrome / browser / resources,,很可能就是您所需要的
  • chrome.* APIs
  • chrome / browser / resources / file_manager / js
  • chrome-toolbox
  • chrome / browser / resources / extensions
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12450755

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档