chrome扩展实现通信示例

  chrome扩展实现2个不同域名通信示例,以下代码通过向百度搜索页面中插入iframe加载本网站页面,然后实现相互发送信息(当然可以在对应页面实现dom的操作,示例仅输出相互发送的信息),效果如下chrome扩展开启开发者模式后可以直接加载扩展程序manifest.json { name: 测试, manifest_version: 2, version: 1.0, author:showbo,http://www.w3dev.cn, description: 测试, content_scripts: [{matches: [
http://www.w3dev.cn/article/20220321/chrome-extension-cross-domain-communication-demo.aspx

localStorage,sessionStorage共享解决办法

的信息。共享也有条件限制,如果不能操作页面是无法实现共享的。sessionStorage生命周期比较特殊,需要用html5的的postMessage来实现,无法使用document.domain。  localStorage,sessionStorage共享也是有条件限制的,就是相互共享的localStorage,sessionStorage域名能有修改的权限,如果你没有对应页面的修改权限,那么你不需要看此篇文章了。共享数据需要用html5的postMessage(顶级域名)或者设置document.domain='顶级域名'(二级域名),需要添加onmessage
http://www.w3dev.cn/article/20170613/localStorage-sessionStorage-cross-domain-tabpanel-share.aspx

配置firefox允许ajax请求

允许请求数据的,要想firefox下ajax允许请求,有2中方法。  第一种,修改firefox配置,将signed.applets.codebase_principal_support项目为true(默认为false)。在firefox的地址栏中输入about:config,并找到signed.applets.codebase_principal_support,将其设为true,如下下图所示但这种方法经过实现,仍然无法访问其他的url,不知是不是新版的firefox把这个给屏蔽了。就算这种方法可行,也尽量不使用这种需要配置firefox的方法,而要使用编程的方法,在访问其它之前
http://www.w3dev.cn/article/20151021/config-firefox-allow-cross-site-request.aspx

easyui datagrid加载jsonp数据源

  easyui datagrid加载jsonp数据源示例。如果datagrid要加载的数据,页面提供的数据格式为非jsonp数据,当直接配置datagrid的url启用ajax加载地址时,即使url返回的数据格式符合datagrid格式的json字符串,由于浏览器安全问题,ajax是不允许请求的(除非设置动态页设置过:Access-Control-Allow-Origin响应头),导致无法获取到数据。要加载的数据,需要自己站点做代理页面或者修改页面提供jsonp数据。 easyui datagrid要加载jsonp数据源,需要自定义loader配置,通过jquery的aj
http://www.w3dev.cn/article/20141119/easyui-datagrid-load-cross-domain-jsonp-data.aspx

通过Access-Control-Allow-Origin控制允许ajax请求的域名

解决办法  建立一个允许请求的域名列表,然获取请求来源域名,和列表进行对比,如果来源域名存在允许的请求域名列表里面,再添加Access-Control-Allow-Origin响应头。下面为一个C# ashx的示例 public void ProcessRequest(HttpContext context) { System.Collections.Generic.Liststring lHost = new System.Collections.Generic.Liststring(); #region 添加允许请求的域名列表
http://www.w3dev.cn/article/20130830/ajax-cross-domain-request-control-by-Access-Control-Allow-Origin.aspx

IE7+浏览器下XMLHttpRequest请求安全配置

e); //如果禁用了通过访问数据源,页面设置过Access-Control-Allow-Origin响应头为*,也无法请求,open时就报错。xdr.onreadystatechange = function () { if (xdr.readyState == 4) alert(xdr.responseText)}xdr.send(null)*//script  如果未启用安全-》internet区域的通过访问数据源,页面设置过Access-Control-Allow-Origin响应头为*允许所有不同源的页面请求,IE要如何请求此类页面得到页面的内容?可以使用IE专
http://www.w3dev.cn/article/20130813/IE-XMLHttpRequest-cros-request-safe-config.aspx

jquery1.5+ ajax请求在IE下没反应分析

,增加了判断(自动判断ajax请求的url地址是否和当前访问的页面同源,jquery1.4-版本没有增加判断,所以直接发送ajax请求,这样就和浏览器的安全设置有关了),jquery1.5+如果访问并且不支持请求(这些都是jquery代码自动判断的),就不会发送ajax请求(所以浏览器安全设置被忽略),导致没有触发任何事件,所以jquery1.4+能在ie配置安全区域的通过访问数据源后可以请求,而jquery1.5+就完全没有反应。  具体可以参考http://code.jquery.com/jquery-1.10.2.js未压缩的源代码中的这些代码,是否支持jque
http://www.w3dev.cn/article/20130813/jquery1.5-upper-version-cros-request-in-ie-No-reaction.aspx

XDomainRequest,IE8+请求对象

e( p);responseText响应的内容,字符串格式timeout获取或者设置请求超时时间,单位毫秒备注  XDomainRequest对象为一个允许脚本连接任何服务器并且交互数据的安全,可信,轻量级数据服务。开发使用 XDomainRequest 对象发送有跨域安全当前ajax请求。  安全警告: 请求(XDRs)匿名保护用户数据,就是说服务器不能确定谁在请求数据。为了保护用户隐私,返回的数据不能为敏感或者个人身份识别之类的信息。为了防止泄露数据给恶意的站点,不鼓励启用XDRs请求。  请求要页面和服务器之间双方同意才行。使用 XDomainRequest (XDR)
http://www.w3dev.cn/article/20130729/XDomainRequest-IE8-cross-domain-ajax-object.aspx

JSONP访问在线代理API

64.aspx\, format: xml }, success: function (d) { alert(JSON.stringify(d))//跨域html代码放在results下,注意和json的区别 } });/script jsonp原理可以参考这篇文章:jQuery jsonp原理http://query.yahooapis.com/v1/public/yql JSONP接口API使用说明作者:破狼 出处:http://www.cnblogs.com/whitewolf/JSON
http://www.w3dev.cn/article/20130228/JSONP-crossdomain-online-httpproxy-api.aspx

ext4使用JSONP验证

  ext4支持发送jsonp请求,所以当页面支持jsonp操作时,可以使用ext4.0的Ext.data.JsonP来实现验证或者获取数据。  jsonp具体的原理可以看这个:JSONP跨域  下面为一个简单使用ext4实现验证的示例代码,返回客户端一些验证信息。只作为研究使用,安全性基本没有。!DOCTYPE HTML PUBLIC -//W3C//DTD HTML 4.01//EN http://www.w3.org/TR/html4/strict.dtdhtmlhead meta http-equiv=Content-Type content=text/html;
http://www.w3dev.cn/article/20130130/ext4-jsonp-cross-domain-verification.aspx

access-Control-Allow-Origin请求安全隐患

-Allow-Origin 这个 Header, 他是W3C标准里用来检查该请求是否可以被通过。 (Access Control Check)  实现的过程大致如:从 http://www.a.com/test.html 发起一个请求,请求的地址为: http://www.b.com/test.php,如果 服务器B返回一个如下的headerAccess-Control-Allow-Origin: http://www.a.com,那么,这个来自 http://www.a.com/test.html 的请求就会被通过。  在这个过程中, request 还会带上这个header
http://www.w3dev.cn/article/20121105/access-Control-Allow-Origin-cross-domain-request-danger.aspx

IE里Cookie不能读取

自觉的把IFRAME框里的COOKIE给阻止掉,产生问题.本身不保存自然就取不到了.这个其实是FRAMESET和COOKIE的问题,用FRAME或者IFRAME都会遇到.  3.测试时输出TRACE,会减少很多测试的工作量.  只需要设置 P3P HTTP Header,在隐含 iframe 里面设置 cookie 就可以成功。他们所用的内容是:P3P: CP='CURa ADMa DEVa PSAo PSDo OUR BUS UNI PUR INT DEM STA PRE COM NAV OTC NOI DSP COR'IE11+需要设置为上面完整内容,要不cookie可
http://www.w3dev.cn/article/20110218/Cookie-IE-Brower-can-not-read.aspx

Cookie在IE浏览器不能存储读取解决方案

当换IE浏览器来查看效果的时候,发现IE只能显示第一个Banner,不能按循序切换。发现生成的cookie被IE浏览器给拦截了,晕。。。后面网上查找了下,发现是IE的问题,当生成cookie的时候,就是a.com的页面用script加载b.com的生成Banner的动态页时,此时出现问题了,如果b.com生成cookie的时候,会被IE浏览器拦截掉。解决这个问题可以通过设置P3P响应头来解决。下面是解决办法,不过是用框架的,和script标签也一样。解决方案参考下面的文章IE里Cookie不能读取微软公布IE6新增隐私保护功能的详情关于IE6框架iframe或frameset
http://www.w3dev.cn/article/20110218/IE-cookie-save-deny-solution.aspx

2级域名实现iframe域名自适应高度

frame的高度,如果不进行一些设置,会出现的问题。  这里说的是2级域名和对应的顶级域名直接实现,而不是不同顶级域名和2级域名直接的。  如我有一个顶级域名/,如果在/中的iframe用remark./2级域名来加载其他信息显示顶级域名或者其他javascript./这种2级域名上,是可以的。但是不能顶级域名,如加载百度或者替他网站的信息,这样通过此办法无法实现iframe自动适应高度。在顶级域名一样的情况下,实现2级域名控制顶级或者其他2级域名中显示的iframe的高度,可以通过设置document.domain对象实现操作iframe。将所有的2级域名都加上sc
http://www.w3dev.cn/article/20101220/second-level-domain-cross-domain-iframe-auto-fit-height.aspx

jQuery jsonp原理

  实际上单jQuery还是实现不了加载数据的,由于XMLHttpRequest的安全设置,是不允许直接的。jQuery的jsonp虽然能跨域,但是还得请求的页面支持才行,如果请求的页面不理会jQuery发送的参数,是无法的,实际上来说是获取不到输出的页面内容。  jQuery jsonp原理实际就是使用script标签加载配置对象中的url,再使用script标签加载之前,会在客户端中注册一个新的函数作为回调函数提供给页面使用,然后将函数名称替换掉url中jsoncallback=?后面的问号,最后请求的页面获取发送的回调函数名称,输出类似回调函数名称(json数据)
http://www.w3dev.cn/article/20100719/2728.aspx

22.2.使用的RSL

in.com 的SWF访问服务器数据,包括RSLs。要允许上面列举出的域中任何SWF访问目标服务器上的数据,你要把授权文件放到服务器的根目录。虽然这是一个可行的方法,但是你可能希望应用程序访问目标服务器上的RSL时有更多控制。通过MXML编译器的runtime-shared-library-path选项,你可以指定授权文件的具体位置。要编译动态链接到上面生成的CustomLibrary.swf 跨域RSL的应用程序,调用mxmlc工具,使用runtime-shared-library-path参数和目标服务器上的RSL完整URL路径和授权文件: mxmlc RSLExampl
http://www.w3dev.cn/article/20100426/2227.aspx

FireFox下端口不一致导致

ion: (1? XMLHttpRequest.open ?CP 3的错误,这个是因为端口号不一致时导致出现的错误。而IE下不会因为请求的端口号不一致出现的问题。  其实出现端口号不一致的错误实在是微乎其微,有谁会一个网站开放两个端口号,浏览器访问时使用一个,ajax对象请求又使用另一个呢??这不是找罪受吗,还得处理的问题。  当ajax出现端口的问题时,Firefox下哪怕设置了document.domain也解决不了的问题,要想Firefox下不出现端口问题,可以使用下面两种比较简单的办法  1)ajax只能使用相同的端口号  2)使用相对路径,而不是使用绝对路径
http://www.w3dev.cn/article/20100304/1775.aspx

最新AJAX(XMLHttpRequest)进行请求方法详解

eb 应用对访问的需求也越来越多,但是,在脚本中进行跨域请求是受安全性限制的,Web 开发人员迫切需要提供一种更安全、方便的请求方式来融合(Mashup)自己的 Web 应用。这样做的一个好处就是可以将请求分摊到不同的服务器,减轻单个服务器压力以提高响应速度;另外一个好处是可以将不同的业务逻辑分布到不同的服务器上以降低负载。  值得庆幸的是,请求的标准已经出台,主流浏览器也已经实现了这一标准。W3C 工作组中的 Web Applications Working Group(Web 应用工作组)发布了一个 Cross-Origin Resource Sharing(资源共享,该
http://www.w3dev.cn/article/20100304/1777.aspx

如何解决ajax的问题

ax访问的问题出于安全性考虑,浏览器禁止ajax访问,但当有遇到这一类需求时就直接否则ajax直接访问这一方法。当然方法一定是有的,在网上一搜能找到一堆解决方案,如动态创建iframe获取结果在传回处理的,或者用script的src属性绕过的,还有通过本地代理的,我感觉本地代理方式是一种比较完美的方法,直接通过ajax像本地服务请求,本地服务再向远程服务获取结果,然后传回客户端,当然多了中间一层代理,但过程还是ajax方式的,同时本地的 service可以任意处理出想要的结果。上回说到使用jQuery调用JSON数据,但是如果对方不提供JSON数据,则需要用另外的方法实现调用
http://www.w3dev.cn/article/20100120/1298.aspx

Javascript和Ajax解决方案

收页的元素或者值呢?(IE的本地项目是可以实现访问的,但是外网的访问默认是被拒绝的。FireFox本地项目以及外网的访问都是被拒绝的。)原理:浏览器禁止数据访问,但是浏览器并没有禁止跨域跨框架的post传值。我们可以在A,post到B的某个页面的框架中,然后通过B的框架页来实现本域内的数据访问。这其实是html应用中的一个小技巧,并没有用到其他高深的知识就实现了的数据提交。方法:在B域中添加两个页面,来实现的数据访问,post.aspx和main.aspx。页面关系如下,A的a.html包含一个框架,框架页地址是B的main.aspx,main.aspx是一个
http://www.w3dev.cn/article/20100120/1299.aspx

解决了Flash通讯的问题

1.新的播放器可以播放存放在几个域名下的作品图片了2.编辑器也能与站点程序进行通讯并使用户同步登录摩豆网了解决方法共享如下:直接在flash中测试影片不会出现问题,但如果Flash发布的swf文件,需要如下方法解决。建立一个crossdomain.xml文件放到被访问文件所在服务器的根目录下。以下是xml的代码:XML/HTML代码xml version="1.0"?cross-domain-policyallow-access-from domain="*" /cross-domain-policyjs与flash调用:需要在FLASH脚本调用处加上参数: always",该参数
http://www.w3dev.cn/article/20090709/434.aspx

实现Flash访问

则,而不是超匹配规则。因此,被访问的文件(即使该文件以 早于 Flash Player 7 的 Flash Player 版本为目标播放器发布)必须显式允许或子访问;其次,在某一使用安全协议 (HTTPS) 的站点上承载的文件必须显式允许从使用不安全协议(HTTP 或 FTP)的站点承载的文件的访问。  所以当使用loadMovie进行访问时,需要调用 System.security.allowDomain。如果LocalConnection 接收方是 HTTPS SWF 文件,而发送方不是,则调用 allowInsecureDomain。  可以使用下面的代码实现访问:Sys
http://www.w3dev.cn/article/20090709/435.aspx

共享Cookie

摘自:http://www.cnblogs.com/Ihaveadream/archive/2008/05/02/1178538.htmlCookie有三个属性需要注意一下:1. Domain 2. Path 路径3. Expires 过期时间操作需要设置属性:Response.Cookies("MyCookie").Domain = "cnblogs.com"; (这里指的是泛域名)这样在其它二级域名下就都可以访问到了, ASP 和 ASP.NET 测试通过虚拟目录下访问:我在ASP端做了下测试,.NET的没试, 如果不指定Path属性, 不同虚拟目录下Cookie无法共享将Res
http://www.w3dev.cn/article/20090701/316.aspx

AJAX问题解决办法

function test(){alert(xml)}/SCRIPT BODY INPUT TYPE=button value=CLICK ME onclick=test() /BODY /HTML后台程序get.phpecho 'var xml =asdf;';当你点击按钮的时候就会去服务器那去你需要的js,但加在完成后就可以自己的使用变量xml了,运行代码后你会得到一个对话框显示asdf;相关文章:最新AJAX(XMLHttpRequest)进行请求方法详解Javascript和Ajax解决方案如何解决ajax的问题FireFox下端口不一致导致
http://www.w3dev.cn/article/20090701/ajax-cross-domain-solution.aspx

关于Cookie操作遇到的问题及解决方法

Cookie操作看来是个简单的问题,因为只要指定Domain属性为指定网站的根域名就可以了.但是笔者在实际使用过程中却遇到了一些问题,的确值得注意.环境介绍cookie在www主域名下创建,并写入Domain属性,如:(为方便调试以下代码皆为asp代码)Code:Write.asp+展开-HTML%Response.Cookies(CookieName)("UserName")="SunBird"Response.Cookies(CookieName)("Password")="xyz1234"Response.Cookies(CookieName).Domain="xxxx.com"%上
http://www.w3dev.cn/article/20090629/185.aspx

下载谷歌字体woff2放到服务器cancel加载失败provisional headers are shown

会出现错误。于是给google-fonts文件夹加上Access-Control-Allow-Origin响应头,刷新,正常加载字体,谷歌Open Sans字体效果也出来了。看来woff字体文件加载需要同源,不同源加载不了字体文件。  经过翻墙,清空缓存浏览器缓存,从谷歌网站加载css测试,谷歌的css字体文件也是添加过Access-Control-Allow-Origin响应头的。  总结:导入的外部css文件如果包含字体,由于不通源,css中的字体文件将会无法下载,无法使用指定的字体。解决办法就是外部字体设置过Access-Control-Allow-Origin响应头允许加载。
http://www.w3dev.cn/article/20170822/chrome-font-file-woff2-network-cancel-provisional-headers-are-shown.aspx

jquery控制表格列单元格显示隐藏

  jquery控制表格列单元格显示隐藏。表格列很多时,存在跨列跨行合并,如何点击表头实现列单元格隐藏,只显示当前第一列的值,从而缩小表格宽度。效果如下未隐藏原始效果隐藏其他列,只显示第一列效果  jquery控制表格列单元格显示隐藏源代码如下!DOCTYPE htmlhtmlhead meta charset=utf-8 titlejquery控制表格列单元格显示隐藏/title link rel=stylesheet href=http://cdn.static.runoob.com/libs/bootstrap/3.3.7/css/bootstrap.min.c
http://www.w3dev.cn/article/20170206/jquery-control-table-td-hide-show.aspx

网站添加谷歌翻译工具条后自动翻译为指定语言

条  现在要实现的是,如何通过谷歌翻译工具条,自动将网站的内容翻译为指定的语言,不需要人工点开语言选择框,然后选择对应的语言后才执行翻译操作。  通过观察谷歌翻译工具条可以看到语言选择DOM对象在一个iframe里面,样式为.goog-te-menu-frame,还在不是从谷歌url地址加载,要不了就无法用js控制谷歌翻译工具条的自动翻译了。  实现思路就是获取iframe里面的连接对象,遍历找到对应的语言,然后触发下onclick()就搞定了。  网站添加谷歌翻译工具条后自动翻译为指定语言源代码如下,自动将中文翻译为英文语言script src=http://translate.goog
http://www.w3dev.cn/article/20160524/google-translate-tool-automatic-translate-content-to-special-language.aspx

JavaScript如何检查网站是否可以访问

  JavaScript如何检查网站是否出现问题,无法访问。由于安全性问题,不可以执行ajax代码,可以使用Image对象来加载对方服务器的一张图片(一般网站都会有网站图标,这个图标放在根目录下),所以可以加载网站图标来判断是否可用。注意:Image加载的需要是图片,其他非图片文件无法检查网站是否可以访问,即使网站没有问题。titleJavaScript如何检查网站是可以访问/titlescript //JavaScript检查网站是否可以访问 //config配置参数 //url:要检查的域名或者图片url地址,如http://w3dev.cn,http://w3dev
http://www.w3dev.cn/article/20151210/javascript-check-url-is-accessable.aspx