Showing posts with label Iframe. Show all posts
Showing posts with label Iframe. Show all posts

Sunday, July 12, 2009

iframe src problem in firefox

<iframe src='javascript:'></iframe>
在firefox下,当运行到上面语句的时候,将会弹出错误控制台。

Tuesday, April 14, 2009

document onmousemove event differences in different browsers

当前文档document中如果有一个iframe时,当mouse滚过当前文档进入到iframe区域中时,不同的浏览器的表现形式有所不同,safari4/opera9.6中仍然能触发mouseover事件,但是在firefox3/ie中则不触发此mouseover事件,因为mouse已经离开了当前文档。

Monday, November 03, 2008

When iframe src is too long in IE6/IE7

在ie中,如果页面内的iframe src的URL长度过长(>2083),ie会请求失败。
微软官方文档说明如下:
Microsoft Internet Explorer 具有最大统一资源定位符 (URL) 长度为 2,083 个字符。 Internet Explorer 也有最多 2,048 个字符的最大路径长度。 此限制适用于同时 POST 请求和 GET 请求 URL。
如果要使用 GET 方法,您被限制为最多个最多 2,048 个字符,减去的实际路径中的字符数。
但是,POST 方法不受到用于提交名称 / 值对该 URL 的大小。 这些对被传输在标头而不是在该 URL。
RFC 2616,"超文本传输协议--HTTP / 1.1,"未指定 URL 长度的任何要求。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>when iframe src is too long in IE6/IE7</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
</head>
<body>
If iframe src url size greater than 2083, ie6/ie7 will failure for this http request.
<iframe src="http://localhost/test.php?x=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxXxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxXxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxXxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxXxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxXxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxXxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxXxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxXxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxXxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxXxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxXxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxXxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxXxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxXxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxXxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxXxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxXxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxXxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxXxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxXxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"></iframe>
</script>
</body>
</html>
Reference:http://support.microsoft.com/kb/208427/zh-cn

Sunday, October 12, 2008

Inject html string into a iframe

var text = "<div id='storeArea'>test</div>";
var content = "<html><body>" + text + "</body></html>";
var iframe = document.createElement("iframe");
document.body.appendChild(iframe);

var doc = iframe.document;
if(iframe.contentDocument)
doc = iframe.contentDocument; // For NS6
else if(iframe.contentWindow)
doc = iframe.contentWindow.document; // For IE5.5 and IE6

// Put the content in the iframe
doc.open();
doc.writeln(content);
doc.close();
// Load the content into a TiddlyWiki() object
var storeArea = doc.getElementById("storeArea");
console.log(storeArea);

Reference:
http://softwareas.com/injecting-html-into-an-iframe

Wednesday, April 23, 2008

firefox bug when using iframe and javascript alert() function


<iframe src="http://localhost/perl/cgi.pl" height=1 width=1></iframe>

<script type="text/javascript" charset="utf-8">
alert('test');
window.location = "http://localhost/javascript/index.html";
</script>

以上代码在ie7和safari里调用的都会去请求iframe的src指向的URL,但在Firefox里这个动作却并不会执行,在server端不会收到这个GET请求。
必须在iframe之外加一些html标签,如img/body等才能使此iframe的src指向的请求被执行。如下所示:

<html>

<body>

<iframe src="http://localhost/perl/cgi.pl" height=1 width=1></iframe>

<script type="text/javascript" charset="utf-8">
alert('test');
window.location = "http://localhost/javascript/index.html";
</script>

</body>
</html>

Thursday, November 15, 2007

因为iframe标签关闭不正确造成的问题

<iframe src="http://www.baidu.com"/>
因为iframe标签关闭不正确,后面的Javascript和此文本内容在FF/IE上(其他浏览器未测试)都不会被执行,HTML输出流截止于iframe。
<script type="text/javascript">
alert('test');
</script>

Friday, October 19, 2007

Iframe src 属性说明及使用

在Google的一些应用网页里面Iframe用得相当频繁,配合ajax做用户交互,有些是将form提交到Iframe(form的target属性指向iframe的name,form的action提交后服务器返回的内容会在form的target所在的iframe中写入,这个使用方法与frameset页面中某帧的链接<a target="xxx" href="xxx">中指定target显示框架用法相同),再从ifrmae中取回数据显示给用户。

如test.html


<form action="form_action.html" method="post" target="target_iframe" accept-charset="utf-8">
<p><input type="hidden" name="var1" value="1" id="var1"></p>
<p><input type="hidden" name="var2" value="2" id="var2"></p>
<p><input type="submit" value="submit"></p>
</form>

<iframe src="http://www.baidu.com" id="iframe_id" name="target_iframe"></iframe>

和form_ation.html

<html>
<body>
<div id="div1">form action returned html body</div>
</body>
</html>

Thursday, August 30, 2007

get iframe body contents

document.getElementById('iframe_id').contentWindow.document.body.innerHTML
这样就取到了了Iframe中的HTML正文内容了,在FF/IE中测试通过。