js跨域是个讨论很多的话题。iframe跨域访问也被研究的很透了。
一般分两种情况:
一、 是同主域下面,不同子域之间的跨域;
同主域,不同子域跨域,设置相同的document.domian就可以解决;
父页访问子页,可以document.getElementById("myframe").contentWindow.document来访问iframe页面的内容;如果支持contentDocument也可以直接document.getElementById("myframe").contentDocument访问子页面内容;
子页访问父页,可以parent.js全局属性
二、 是不同主域跨域;
前提,www.a.com下a.html,a.html内iframe调用了www.b.com下的b.html,b.html下iframe调用了www.a.com下的c.html
b.html是不无法直接访问a.html的对象,因为涉及到跨域,但可以访问parent,同样c.html的parent可以访问b.html。c.html和a.html同域,是可以访问a下的对象的。parent.parent.js对象!
看下面实例:
a.html
<html>
<head>
<meta charset="utf-8">
<title>无标题文档</title>
</head>
<body>
<iframe src="http://www.b.com/b.html" ></iframe>
<ul id="getText"></ul>
<script>
function dosome(text){
document.getElementById("getText").innerHTML= decodeURI(text);
}
</script>
</body>
</html>
b.html
<html>
<head>
<meta charset="utf-8">
<title>无标题文档</title>
</head>
<body>
<iframe id="myfarme" src="###"></iframe>
<ul id="ct">
<li>这里是内容1</li>
<li>这里是内容2</li>
<li>这里是内容3</li>
<li>这里是内容4</li>
<li>这里是内容5</li>
<li>这里是内容6</li>
</ul>
<script>
window.onload = function(){
var text = document.getElementById('ct').innerHTML;
document.getElementById('myfarme').src="http://www.a.com/c.html?content="+encodeURI(text);
}
</script>
</body>
</html>
c.html
&l
很多人都喜欢用 Google 搜索,但自从 Google 服务器搬离中国大陆后,大陆用户用 Google 搜索时会自动跳转到 google.com.hk,不仅莫名其妙的关键字被过滤,而且经常出现“无法显示此网页”,相当悲催。
您可能感兴趣的相关文章- 推荐8款很棒的测试网站速度的免费工具
- 10套精美的免费网站后台管理系统模板
- 开发者必备的8个最佳云端集成开发环境
- 十款精心挑选的在线CSS3代码生成工具
- 推荐8款优秀的免费 Web 安全测试工具
大家比较熟悉的解决方法有配置 Hosts 文件和使用翻墙软件两种,配置 Hosts 文件方式不是很靠谱,可能过段时间就失效了,使用翻墙软件则稍显麻烦。这篇文章向大家介绍一种更为简单,而且一劳永逸的方法!使用下面的地址访问:
http://www.google.com/ncr
带上 ncr 后缀是取消 Google 自动默认的按照国家区分提供不同语言的版本,直接链接到 Google 官网的命令。这样你就能流畅的使用 Google 搜索了,想搜索什么就搜索什么!
另外一个问题是 Chrome 浏览器的默认搜索也是设置为 google.com.hk,需要修改一下。
Chrome – 设置 – 搜索 – 管理搜索引擎 – 其他搜索引擎
拉到最下面,填写如下信息,新增一个搜索引擎,然后设置为默认搜索引擎:
搜索引擎名字:可以自己随便填,这里写 google.com
关键字:可以自己随便填,这里写 gg
网址:这个最重要,这里填写 http://www.google.com/search?hl=zh-CN&q=%s
- 经典的白富美型 jQuery 图片轮播插件
- 2012年最佳 Web 前端开发工具和框架
- 让人爱不释手的13套精美网页图标素材
- 10套精美的免费网站后台管理系统模板
- 精心挑选的优秀 jQuery Ajax 分页插件
本文链接:实用技巧:Google 搜索打不开的解决方法【图文】
编译来源:梦想天空 ◆ 关注前端开发技术 ◆ 分享网页设计资源
hide
本文链接
虽然大多数前端都用jquery,可是对jquery这几个选择器在使用上的异同,大家应该平时不会太在意,或者也是一知半解吧!
下面简单总结了下:
1.filter:
.filter( selector )
.filter( function(index) )
.filter( element )
.filter( jQuery object )
和find区别是,find是对它的子集的操作,而filter是对自身集合元素的操作
2.find:
.find( selector )
.find( jQuery object )一个用于匹配元素的jQuery对象。
.find( element )一个用于匹配元素的DOM元素。
和children的区别是children只查找子元素,而不是后代元素
3.children:
.children( [ selector ] )
匹配元素的选择器字符串.children(".selected")
4.contents:
和children的区别是,包括文本和注释节点
5.contains:
jQuery(':contains(text)')
<div>John Resig</div>
匹配的文本$("div:contains('John')").css("text-decoration", "underline");
是不是有些晕?呵呵,其实还是平时大家在项目中,遇到问题时,多加注意具体每个的用法,有时即使都能达到同样的
效果,但是在语法字面,及jquery内部性能上还是有差异的,这里就不再多加赘述了~
微博: http://weibo.com/caozf
本文链接