loadHtml 而不是 atom-shell 中的 loadUrl? (尝试用玉)

Posted

技术标签:

【中文标题】loadHtml 而不是 atom-shell 中的 loadUrl? (尝试用玉)【英文标题】:loadHtml instead of loadUrl in atom-shell? (trying to use jade) 【发布时间】:2015-02-28 14:06:45 【问题描述】:

atom-shell 只有一个从 URL 加载 html 的方法

window.loadUrl('file://...')

但我想用翡翠

var html = jade.renderFile('file://...');

有没有办法在 atom-shell window 中使用编译后的 htmlloadHtml(html) 之类的东西?

我想我可以运行一个提供已编译 html 的快速服务器,但这会相当低效..

【问题讨论】:

【参考方案1】:

如果是mac:

/usr/bin/open -a "/Applications/Google Chrome.app" --args 'data:text/html,<html><body><h1>title</h1><p>text</p></body></html>'

关于 URI 的详细信息

https://developer.mozilla.org/en-US/docs/Web/HTTP/data_URIs

【讨论】:

成功了,谢谢! window.loadUrl('data:text/html,' + encodeURIComponent(jade.renderFile('file://...')))【参考方案2】:

另一种方法是将 executejavascript 函数与类似的东西一起使用

mainWindow.loadUrl('about:blank');
var s = '<DOCTYPE html><html><head><title>Written!</title></head><body><h1>Hello!</h1></body></html>';
mainWindow.webContents.executeJavaScript('document.write("' + s + '");');

【讨论】:

以上是关于loadHtml 而不是 atom-shell 中的 loadUrl? (尝试用玉)的主要内容,如果未能解决你的问题,请参考以下文章

node-webkit 或 atom-shell 可以截取整个桌面屏幕吗?

如何理解 atom-shell 的浏览器端和客户端

在 atom-shell 应用程序启动时隐藏光标

DOMDocument::loadHTML 错误

CefSharp LoadHtml

PHP DOMDocument - createDocumentFragment 不适用于 loadHTML