在我的测试中,给定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>
我的B文件:
<!doctype html>
<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 tt =11;
function test2($scope,$http,$compile)
{
console.log("test2 controller initialize");
$scope.tempvalue=0;
$scope.parentcall = function()
{
$scope.tempvalue = 99 ;
console.log($scope.tempvalue);
console.log(tt);
}
}
</script>
</head>
<body>
<div ng-controller="test2" id="test2">
<div id="cont" >
<button ng-click="parentcall()">get script</button>
</div>
{{tempvalue}}
</div>
</body>
</html>
注意:实际上,有一些方法可以做到,我觉得这就像是一种破解,而不是完成它的正确方法:即在b Document中创建一个按钮,然后与angularjs ng-
click绑定。之后,一个文档jquery“触发”单击按钮。
要访问两个方向(iFrame的父级,iFrame的父级)并在两个方向上进行通信(如果它们都在同一个域中,并且可以访问角度范围),请尝试执行以下步骤:
*您不需要父母来引用angularJS库…
从父级调用子级iFrame
1.从父级获取子级iFrame元素链接到答案:
document.getElementById(“ myIframe”)。contentWindow
2.访问元素的范围:
document.getElementById(“
myIframe”)。contentWindow.angular.element(“#someDiv”)。scope()
3.调用范围的函数或属性:
document.getElementById(“
myIframe”)。contentWindow.angular.element(“#someDiv”)。scope()。someAngularFunction(data);
4.在运行函数逻辑/更新属性后调用$ scope。$apply链接到Mishko的答案:
$ scope。$ apply(function(){});
从子级iFrame调用父级
parent.someChildsFunction();
如有必要,还将更新跨域操作方法。
问题内容: 应用。现在我想用AngularJS实现一个动态菜单。因此,我需要从现有应用程序更改AngularJS应用程序中的变量。 我正在尝试以下示例: 从外部脚本调用“ resetName()”函数的正确方法是什么? 问题答案: 只需将选择器附加到定义了控制器的DOM元素即可。喜欢 在任何地方都可以调用该控制器功能,例如 要么 在某些情况下,您需要修改控制器的对象值,您可以通过简单的方式进行操作
1、前言 前端的开发规范不仅仅是上边三章提到的内容,更多的JavaScript规范学习推荐阅读airbnb/javascript,下面补充其他方面的规范要求 2、数据库相关 2.1 【强制】数据库命名规则 根据实际情况而定 表(或者视图)名命名请统一按照系统和功能模块命名,要求看表和视图能快速知道这是哪个模块下的表;业务表和后台表请明确放置位置,为了便于维护。(如果项目没有规定规则的话采用) 请项
问题内容: 如何从其父范围调用在子范围中定义的方法? http://jsfiddle.net/wUPdW/ 问题答案: 您可以从父母到孩子使用: 工作jsfiddle:http : //jsfiddle.net/wUPdW/2/ 更新 :还有另一个版本,耦合性更低,更易于测试: jsfiddle:http : //jsfiddle.net/uypo360u/
假设website1.com/page_1.php具有如下表单: 和website2.com/page2.php的iframe如下所示: 使用JQuery或JS,我如何在访问。
假设我有两个html文件具有如下功能: 我想从a.html直接指向B.html,然后直接调用函数B。我怎样才能做到?。因为我想要将JSON字符串从函数A传递到函数B,而不是使用window.onload()或$(document).ready()。 我将我的JSON字符串存储到本地存储,并将用户引导到b.html。然后函数B将读取本地存储并直接处理数据。
问题内容: 我在从父页面调用JavaScript函数时遇到问题。这是我的两页: mainPage.html resultFrame.html (我知道不建议这样做,但只能在内部使用IE浏览此页面,我不认为这是问题所在) 当我按下“重置”按钮时,我得到“找到resultFrame”和“找不到resultFrame.Reset”。似乎有对框架的引用,但无法在框架上调用该函数,为什么呢? 问题答案: 采