如何在不加载空白页的情况下使用javascript清除IFRAME元素的内容?
我可以想出这样做:iframe_element.src = "blank.html"但是必须有一个更好的,即时的方法.
我注意到Google的再营销代码会在页面底部插入一个iframe.问题是iframe弄乱了我的布局(它高13px,底部留下一个空白的垂直空间).
我试图用css隐藏它,但它在IE9中仍然可见:
iframe[name='google_conversion_frame'] {
height: 0 !important;
line-height: 0 !important;
font-size: 0 !important;
}
Run Code Online (Sandbox Code Playgroud)
因此我有两个问题:
a)如何在IE9中隐藏这个iframe
b)最重要的是 - 它是否安全还是可以以某种方式影响该脚本的功能?
我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".它似乎有一个框架的引用,但不能调用框架上的功能,为什么会这样?
我有这个HTML代码:
<html>
<head>
<script type="text/javascript">
function GetDoc(x)
{
return x.document ||
x.contentDocument ||
x.contentWindow.document;
}
function DoStuff()
{
var fr = document.all["myframe"];
while(fr.ariaBusy) { }
var doc = GetDoc(fr);
if (doc == document)
alert("Bad");
else
alert("Good");
}
</script>
</head>
<body>
<iframe id="myframe" src="http://example.com" width="100%" height="100%" onload="DoStuff()"></iframe>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
问题是我收到消息"Bad".这意味着iframe的文档没有正确获取,GetDoc函数返回的实际内容是父文档.
如果你告诉我哪里弄错了,我会很感激.(我希望在IFrame中托管文档.)
谢谢.
我自己正在寻找一个简单的解决方案,用它中的内容来改变iframe的高度.
似乎规则是你不能从持有它的页面获得iframe的高度.这是因为安全性显而易见.我们应该怎么做?
我知道在JavaScript中进行AJAX调用时,您可以非常轻松地设置HTTP请求标头.
但是,通过脚本将iframe插入页面时,是否也可以设置自定义HTTP请求标头?
<iframe src="someURL"> <!-- is there any place to set headers in this? -->
Run Code Online (Sandbox Code Playgroud) 我有一个网页,其中iframe中有texarea.我需要从其子页面javascript中读取此textarea的值.目前通过window.parent.getelementbyID().value在javascript中使用,我能够获取父页面中除iframe中的textarea之外的所有控件的值.
我的父页面中的帧ID和帧名称在运行时更改,因此我们不能使用帧ID /帧名称作为参考.
我无法z-index使用iframe包含IE8的pdf文件.它适用于谷歌浏览器.
示例(JSFiddle):
HTML
<div id="div-text">
<div id="shouldBeOnTop">my text that should be on top</div>
</div>
<div id="div-frame">
<iframe src="http://legallo1.free.fr/french/CV_JLG.pdf" width="200" height="200"/>
</div>
Run Code Online (Sandbox Code Playgroud)
CSS
#div-text{
position:relative;
left:210px;
top:20px
}
#shouldBeOnTop{
position:relative;
right:60px;
background-color:red;
width:100px;
z-index:2;
}
#div-frame{
position:relative;
z-index:1;
}
Run Code Online (Sandbox Code Playgroud) 如何通过iframe将我的rails应用程序嵌入到另一个网站?
它适用于RoR 3,但不适用于RoR 4:
<iframe src="http://myrailsapp.com/" width="100%" height="50" id="rails_iframe">error!</iframe>
Run Code Online (Sandbox Code Playgroud)
我试图在我的控制器中使用verify_authenticity_token和protect_from_forgery选项...似乎它是另一回事(但我不确定).
UPD.示例:http: //jsfiddle.net/zP329/
我们有一个Wicket应用程序,其中包含一个包含嵌入式Youtube视频的页面.视频嵌入并播放正常,但显然它会导致页面的其余部分无法呈现 - 看起来嵌入后的DOM元素似乎不会显示在页面上,尽管它在标记中.
查看Chrome中的错误控制台会显示:
不安全的JavaScript尝试使用网址http://yample.com/detail/COMMUNICATION/search/com-sonyericsson-hanashi 从URL http://www.youtube.com/embed/eJY7_De5opI?enablejsapi=1&autohide=1&showinfo访问框架 = 1.域,协议和端口必须匹配.
我用Google搜索了相当数量,人们似乎在说这是无害的并且无视它.这似乎是错的,在我们的例子中,它实际上打破了页面.
如果我们更改我们的应用程序以便通过ajax回调动态嵌入视频(用户单击Wicket AjaxLink),我们仍然会在控制台中收到错误,但至少页面会完全呈现.不幸的是,这对我们不起作用,因为我们需要在用户第一次点击页面时默认加载视频.
编辑:我应该补充一点,虽然错误消息来自Chrome控制台,但该错误似乎影响了我尝试过的每个浏览器:Chrome,Safari和Firefox.