【问题标题】:Iframe doesn't resolves the value from controller after the first loadiframe 在第一次加载后不解析来自控制器的值
【发布时间】:2017-01-10 12:48:31
【问题描述】:

我正在使用 Angular js 框架,并且在 ng-dialog 中有一个 iframe 标签。我将 src 作为

var SrcUrl=staticurl+dynamicUrl;
$scope.IframeSrcUrl=$sce.trustAsResourceUrl(SrcUrl);

在 html 中

<iframe src="{{IframeSrcUrl}}" name="frame2" id="frame2" frameborder="0" marginwidth="0" marginheight="0" scrolling="auto" onload="" allowtransparency="false" height="350px" width="100%" ></iframe> 

iframe 将在其初始加载时解析正确的 url。但如果我关闭 ng-dialog 并再次打开它;它会将“IframeSrcUrl”视为字符串,将其作为我的基本 url 的参数,并将返回 404 错误。 我试过 ng-src 而不是 src.. 但它也没有用..

这里的 staticurl 是一个外部托管的站点,而 dynamicUrl 是一个动态生成的参数。每当我执行某些操作时,例如单击按钮时,我需要启动 ng - 对话框,该对话框通过 iframe 重定向到 IframeSrcUrl。 现在的问题是,在第二次加载时,iframe 将 IframeSrcUrl 视为字符串并尝试重定向到 "http://localhost:1337/%7B%7BIframeSrcUrl%7D%7D"

【问题讨论】:

  • 是否在对话框内/
  • 是的 iframe 在 ng-dialog 的模板中
  • 很难理解发生了什么。您能否举例说明这些值是什么?或者更好:一种重现问题的方法?
  • @TamasHegedus 我会更新问题
  • 使用 ng-src 时发生了什么?

标签: javascript html angularjs iframe


【解决方案1】:

在拨号盒的load 事件中,试试这个: document.getElementById('frame2').src = document.getElementById('frame2').attr('data-src') 并将属性 data-src={{IframeSrcUrl}} 放在你的 iframe 上。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-01
    • 2015-08-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多