我iframe在父页面中调用JavaScript函数时遇到问题.这是我的两页:
mainPage.html
<html>
<head>
<title>MainPage</title>
<script type="text/javascript">
function Reset()
{
if (document.all.resultFrame)
alert("resultFrame found");
else
alert("resultFrame NOT found");
if (typeof (document.all.resultFrame.Reset) == "function")
document.all.resultFrame.Reset();
else
alert("resultFrame.Reset NOT found");
}
</script>
</head>
<body>
MainPage<br>
<input type="button" onclick="Reset()" value="Reset"><br><br>
<iframe height="100" id="resultFrame" src="resultFrame.html"></iframe>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
resultFrame.html
<html>
<head>
<title>ResultPage</title>
<script type="text/javascript">
function Reset()
{
alert("reset (in resultframe)");
}
</script>
</head>
<body>
ResultPage
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
(我知道document.all不推荐这个,但这个页面只能在内部用IE查看,我不认为这是问题)
当我按下重置按钮时,我得到"找到resultFrame"和"找不到resultFrame.Reset".它似乎有一个框架的引用,但不能调用框架上的功能,为什么会这样?
我正在尝试获取iframe的文档对象,但我用Google搜索的示例似乎都没有帮助.我的代码看起来像这样:
<html>
<head>
<script>
function myFunc(){
alert("I'm getting this far");
var doc=document.getElementById("frame").document;
alert("document is undefined: "+doc);
}
</script>
</head>
<body>
<iframe src="http://www.google.com/ncr" id="frame" width="100%" height="100%" onload="myFync()"></iframe>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
我已经测试过我能够获取iframe对象,但是.document不起作用,.contentDocument和我认为我也测试了其他一些选项,但是所有这些都返回undefined,即使是应该的示例已经工作,但他们不适合我.所以我已经有了iframe对象,现在我想要的只是它的文档对象.我在Firefox和Chrome上测试过这一点无济于事.
在我的测试中,给出了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中的javascript函数(在click()上)
<a onclick="abc();" href=# >Call Function which is inside Iframe </a>
<iframe id=myFrame>
<script>
function abc(){
alert("I am inside Iframe");
}
</script>
</iframe>
Run Code Online (Sandbox Code Playgroud)
如果JQuery中有解决方案会更好.
谢谢
我有一个页面可以将外部HTML页面加载到iFrame中.我面临两个问题:
我可能错了这两点,所以如果我,请告诉我,然后我将继续使用iFrame.
否则,是否有一个简单的Javascript调用可以将外部HTML文件加载到DIV中?
要清楚,因为似乎有些人误解了我:
我问如何用DIV和Javascript替换iframe以获得我上面提到的功能.我不是在寻找让iFrame表现不同的方法.
(我认为这是相当普遍的,但我在本网站和网站上发现的大多数问题和信息似乎都是针对特定情况的,并要求我不需要的其他功能并使问题复杂化.但是,如果我错过了某些内容并且这是重复的话,如果关闭它,我不会被冒犯.)
我有一个包含iframe的页面.在iframe里面我有一个像这样的javascript函数:
function putme() {}Run Code Online (Sandbox Code Playgroud)
如何在主页面上调用此功能?
我正在尝试在我的应用中创建一个可拖动的iframe.当iframe被聚焦时,所有鼠标事件都在内部窗口对象中触发.
hover)在我的网页中,我有一个像这样的iframe:
<iframe src="thispage.html" width="100%" height="600" frameBorder="2"></iframe>
Run Code Online (Sandbox Code Playgroud)
(iframe是同一网站上的一个页面...)
我的问题是,是否可以在包含iframe的页面上使用javascript来控制'thispage.html'(比如使用javascript函数?)
我正在尝试为Facebook页面创建iframe选项卡.
在这个页面上,我正在加载一个iframe,它包含来自另一个域/站点的表单.
是否可以使用javascript查询图形api,使用javascript将用户的数据加载到这个iframe加载的表单中,这样会出现预先填充给用户?
我知道存在跨域安全问题.在这种情况下,假设我的iframe选项卡现在托管在与iframe加载的表单相同的域中,这现在可行吗?
我有一个iframe,我正在使用带有一些vars的url正式创建,我作为GET传递.是否可以设置源页面并将变量作为POST或其他内容传递?或者真的,如果有可能以某种方式获取存储在父级中的变量,我也可以使用它.
javascript ×10
iframe ×7
html ×3
jquery ×2
angularjs ×1
dom ×1
facebook ×1
get ×1
many-to-many ×1
node-webkit ×1
node.js ×1
post ×1