angularjs - 如何更改iframe元素的src属性

时间:2015-02-03 00:34:13

标签: javascript jquery html angularjs iframe

我正在尝试了解如何在用户从包含iframe的父网页导航iframe时读取iframe的src属性。这可能吗?

所以,假设我将iframe src属性设置为

http://www.example.com

然后用户导航到

http://www.example.com/anotherpage.html

如何知道更改的时间以及新的src?

任何帮助表示赞赏,

谢谢

2 个答案:

答案 0 :(得分:0)

您可以使用onLoad事件,因此在您的情况下提供处理程序:

 <iframe src="http://www.example.com" onLoad="iFrameSourceChanged(this);"></iframe>

var originalUrl = "http://www.example.com";
function iFrameSourceChanged(iframe)
{
     if(iframe.src != originalUrl)
      {
         // it changed to a different source
      }
}

只要iframe的源更改

,就会调用iFrameSourceChanged函数

答案 1 :(得分:0)

您可以使用自定义指令实现。

  <iframe ng-src="{{iframelink}}" iframeurlload></iframe>

自定义指令

app.directive('iframeurlload', function($state) {
        return {
            restrict: 'A',
            link: function(scope, element, attrs) {
                element.bind('load', function() {
                    var url =angular.element(document.querySelector('iframe')).contents()[0].URL;
                    if (url.includes("anotherpage")){
                        // Do anything what you want
                    }
                });

            }
        };