【发布时间】:2014-12-11 10:18:28
【问题描述】:
我正在使用离子框架和 Angular JS。
我不确定从哪里开始跟踪网络请求的开始。
对于结束请求,我写了一个带有 onLoad 标签的指令。
这里是代码
Directive.js
app.directive('iframeOnload', [function(){
return {
scope: {
callBack: '&iframeOnload'
},
link: function(scope, element, attrs){
element.on('load', function(){
return scope.callBack({DOMelement: this});
})
}
}}]);
在 HTML
<iframe id="webFrame" iframe-onload="iframeLoadedCallBack()" style="width:100%;height:650px;" ng-src='{{goToURL}}' ng-hide='hideIFrame'></iframe>
在控制器 回调函数是
$scope.iframeLoadedCallBack = function() {
console.log('iframeLoadedCallback');
// finished web request callback do something here
};
我猜 Web 请求的开始有类似的东西。我需要跟踪发送请求的 URL。
我是一名 iOS 开发者,实际上我想做一些类似于这个协议的事情 UIWebViewDelegate.
非常感谢
【问题讨论】:
-
原来来自 $httpProvider 的拦截器没有捕获 iframe 的请求,我的错,对不起。
-
拦截器捕获所有$http对象的请求,包括ui-route。我希望它可以帮助使用替代方法加载外部链接的人。
-
它还捕获了对模板 html 的所有请求,这就是为什么我认为它应该对 iframe 有所帮助。
标签: javascript angularjs cordova ionic-framework uiwebviewdelegate