角度和加载网页的正确方法

时间:2015-02-11 23:01:05

标签: javascript angularjs node.js

一直试图弄清楚这个。 因此,有一个网页,我想将另一个网页(或更具体地说,从另一个网页的页面)加载到div中。它基本上是我想要显示的新代码。

我的问题是,实际地址存储在mongodb中,我可以将其全部恢复。可以说它是http://www.google.com

它存储在Webcont.url中(还有一个Webcont.name,其中包含每个页面的简称) 我原本以为我能够按照

的方式做点什么
    <div ng-include="Webcont.url"></div>
    //or
    <object data="Webcont.url"></object>
//or even
<object data="{{Webcont.url}}></object>

或任何其他型号,但我不能为我的生活找到一种方法来做到这一点。搜索项是url,include,load,object和data没有帮助。在谷歌上引发大量点击的条款:)

2 个答案:

答案 0 :(得分:1)

您不能只使用ng-include从其他域加载内容,因为这是一个安全风险。您可以使用$sce.trustAsResourceUrl(value)解决此问题。 $sce service(严格上下文转义)通常用于安全加载动态HTML。

答案 1 :(得分:0)

好的,事实证明是相对直接的,所以我最终使用了ng-bind-html,奇怪的是它需要一个嵌入其中的语句。我不确定我是否理解了ng-bind-html。

您需要两个位,即生成HTML类型标记的部分。所以在你的控制器中添加

var culine = '<iframe src="' + fside.surl + '" height="700" width="700"></iframe>';
        console.log(culine);
        return $sce.trustAsHtml(culine);

基本上,fside.surl可以是包含完整网址的任何字符串。第二件事是$ sce.trustAsHtml,它基本上允许你从其他域加载。 html代码如下所示:

<div id="front-page" ng-bind-html="showpane('front')"></div>

在这种情况下,我使用一个名为showpane的函数来搜索列为前面的页面的网页,然后检查该url并返回该页面。 希望它有所帮助:)