2

我正在使用 PhoneGap 开发 AngularJS 1.5 项目。现在我想将 HTML 输出写入文本文件。

我试图使用 innerHTML 函数,但这会返回错误的输出,例如这个返回:

<html>
  <body>Hi {{ Name }}</body>
</html>

我真正想保存的:

<html>
  <body>Hi Developer</body>
</html>

有人有解决方案吗?谢谢!

4

2 回答 2

0

这将比乍一看要复杂一些。Angular 没有某种输出缓冲,你可以轻松掌握。您最好的选择是使用浏览器保存呈现的标记。在 Firefox 中,您可以使用View Source » View Generated Source. 在 Chrome 中,您可以在工具菜单下找到类似的选项。

或者,如果您想走代码之路,这里是来自Angular 开发人员之一Misko Hevery的回复:

我们还没有这样做,但如果你觉得可以,你可以试试

  • 让 node.js 运行
  • 为节点安装许多 DOM 实现
  • 让你的 Angular 页面在 node.js 中运行。
  • 获取 $browser 服务并调用notifyWhenNoOutstandingRequests()它会告诉您页面何时完成渲染
  • 执行 document.html() 以获取呈现的 HTML

[...]

于 2013-11-13T08:08:11.520 回答
0

如果您实际上使用的是角度,那么您应该能够innerHTML在绑定完成后使用。(小提琴

<div ng:controller="CombinedCtrl" id="combined">
    X: {{x}}, Y: {{y}}
    <button ng-click="showHtml()">Show HTML</button>
</div>

JS:

    $scope.showHtml = function() {
        alert('HTML IS:\r\n' + document.getElementById('combined').innerHTML);
    };
于 2013-11-13T08:27:20.090 回答