在我的测试中,给出了2个文档,A和B.在A文档中,有一个iframe,iframe源是B文档.我的问题是如何修改B文件的某些变量范围?
这是我的代码:一份文件
<html lang="en" ng-app="">
<head>
<meta charset="utf-8">
<title>Google Phone Gallery</title>
<script type='text/javascript' src="js/jquery-1.10.2.js"></script>
<script type='text/javascript' src="js/angular1.0.2.min.js"></script>
<script>
var g ;
function test($scope,$http,$compile)
{
$scope.tryget = function(){
var iframeContentWindow = $("#iframe")[0].contentWindow;
var iframeDOM = $("#iframe")[0].contentWindow.document;
var target = $(iframeDOM).find("#test2");
var iframeAngular = iframeContentWindow.angular;
var iframeScope = iframeAngular.element("#test2").scope();
iframeScope.parentcall();
iframeContentWindow.angular.element("#test2").scope().tempvalue = 66 ;
iframeScope.tempvalue = 66;
iframeContentWindow.tt = 22;
iframeScope.parentcall();
console.log(iframeScope.tempvalue);
console.log(angular.element("#cont").scope());
}
}
</script>
</head>
<body>
<div ng-controller="test">
<div id="cont" >
<button ng-click="tryget()">try</button>
</div>
</div>
<iframe src="test2.html" id="iframe"></iframe>
</body>
</html> …Run Code Online (Sandbox Code Playgroud) 我试图获得一个角度指令在iframe内部运行.iframe不是来自外部域,因此需要将包含iframe的应用样式应用于iframe中的内容.
这是我需要做的简单的Plunker.
正如你可以看到带有my-draggable指令的元素在iframe之外但不在iframe之内.
据我所知,这些被认为具有相同的来源,因此父页面将内容注入iframe的能力.我也尝试过为iframe和父页面设置document.domain.结果相同.
这是一个相同的原产地政策问题还是与Angular范围相关?