导航:首页 > 股市分析 > 啥叫跨域视觉分析

啥叫跨域视觉分析

发布时间:2021-07-16 11:47:45

① c# .net 后台的httpwebrequest方法可以跨域访问吗

stringURL="www.xxx.com";
publicvoidsendPost(stringurlArgs,HttpContextcontext)
{
//context.Request["args"]
System.Net.WebClientwCient=newSystem.Net.WebClient();
wCient.Headers.Add("Content-Type","application/x-www-form-urlencoded");
byte[]postData=System.Text.Encoding.ASCII.GetBytes("id="+urlArgs);

byte[]responseData=wCient.UploadData(URL,"POST",postData);

stringreturnStr=System.Text.Encoding.UTF8.GetString(responseData);//返回接受的数据

context.Response.ContentType="text/plain";
context.Response.Write(returnStr);
}

除了上面的方法还有可以使用JSONP来实现,具体应用JSONP实现Json数据跨域调用,需要服务器端与客户端的合作完成。关于JSONP的具体使用方式,网上有很多相关的资料可以参考。这里就暂时做个记录,以后用到的话再具体分析

② 怎么解决服务器间的跨域问题

关于跨域名问题还是问题么,这方面的解决实践非常多,今天我就旧话重提把我所知道的通过几个应用场景来分别总结一下(转帖请注明出处:http://blog.csdn.net/lenel)

先说明一点:我说的某某域名在您的控制下的意思是这个域名下的网页由您来负责开发内部的JavaScript
场景一:将bbs.xxx.com的页面用iframe嵌入到www.xxx.com的中,如何在iframe内外使用js通信(转帖请注明出处:http://blog.csdn.net/lenel)
一级域名都是xxx.com 这个域名一定是在您的控制下,所以你只要在两个页面中同时升级域名即可
在父窗口和iframe内部分别加上js语句:document.domain="xxx.com";
之后2个页面就等于在同一域名下,通过window.parent oIframe.contentDocument就可以相互访问,进行无障碍的JS通信
在新浪、淘宝等很多页面都能找到这样的语句。不过document.domain不可以随便指定,只能向上升级,从bbs.xxx.com升级到yyy.com肯定会出错

场景二:将www.yyy.com的页面用iframe嵌入到www.xxx.com的中,两个域名都在您的控制下,如何在iframe内外进行一定的数据交流(转帖请注明出处:http://blog.csdn.net/lenel)
你可以通过相互改变hash值的方式来进行一些数据的通信

这里的实现基于如下技术要点:
1、父窗口通过改变子窗口的src中的hash值把一部分信息传入,如果src只有hash部分改变,那么子窗口是不会重新载入的。
2、子窗口可以重写父窗口的location.href,但是注意这里子窗口无法读取而只能重写location.href所以要求前提是您控制两个域
名,知道当前父窗口的location.href是什么并写在子窗口内,这样通过parent.location.href =
"已知的父窗口的href" "#" hash。这样父窗口只有hash改变也不会重载。
3、上面两步分别做到了两个窗口之间的无刷新数据通知,那么下面的来说如何感知数据变化。标准中没有相关规定,所以当前的任意浏览器遇到
location.hash变化都不会触发任何javaScript事件,也就是说您要自己写监听函数来监视loaction.hash的值的变化。做法
是通过setTimeout或者setInterval来写一个监听函数每20-100ms查看一下hash是否变化,如果变化了驱动js根据新的数据做
想做的事情。

这种实现的一些分析:
1、信息通道是双向的,当然会兼容单向,如果只是父窗口向子窗口通知数据,只需要子窗口写hash监听,反之亦然。
2、局限性也是颇大,因为这种通信的前提是双方知道对方的location.href。如果父窗口带有动态的location.search也就是查询参数,那么子窗口的处理上就比较困难,需要把父窗口的location.search作为传递信息的一部分告知子窗口。
3、另外的困扰会有浏览器带给你,IE之外的浏览器遇到hash的改变会记录历史,这样你在处理前进后退的时候会非常头疼

场景三:将www.yyy.com的页面用iframe嵌入到www.xxx.com的中,只有被嵌入的yyy.com在您的控制下,如何在iframe内外进行一定的交流
真实场景:google adsence的一个需求,你希望google发现您的页面不能匹配出相关性非常好的按点击付费广告时,你希望google的广告iframe能够隐藏。
google的广告iframe在google域下显然不能把自己隐藏掉,那么怎么办呢?
1、google会提供给你一个html页面
2、您将这个页面放置在您的域名下,并告诉google它的位置
3、当google发现没有很好的广告时,会将子窗口的loaction重定向到您的那个页面下,这样您的页面因为同域名就可以访问父页面来隐藏自己了
是不是很巧的方法?

场景四:您是内容发布商,如何改造接口,让其他域名下的页面可以从浏览器端出发获得您的数据
我们知道ajax的xmlHttpRequest()说到底是一个无刷新请求服务器数据的辅助工具,但是xmlHttpRequest并不能跨域名请求数据,在某些情况下成了极大的限制。
但是我们如果通过其他方式完成无刷新请求数据不也可以么,我们用Dom方法操作动态JS脚本请求来做这件事。
//创建一个脚本节点
var oScript = document.createElement('script');
//指定脚本src src可以指向任意域名
//注意src不再指向静态js,而是带着查询参数指向一个动态脚本广播服务。
oScript.src = "http://yyy.com/query.php?" yourQueryString;
//如果指定了charset 同时还可以解决xmlHttpRequest另一大困扰 乱码问题
//oScript.charset = "utf-8";
//通过Dom操作把这个新的节点加入到文档当中
document.getElementsByTagName("head")[0].appendChild(oScript);

这样只要query.php的输出是可执行的javaScript脚本,比如:djsCallBack({jsondata});
当他从服务器返回后就会自动执行,你可以方便的用json方式来做数据传递了。
要注意,您的脚本请求最好带上时间戳,避免浏览器缓存造成取回数据实时性下降。

如果您是数据提供者,您可以要求数据索取者在查询参数中提供回调函数名,比如query.php?callback=myDataHandler

③ 如何通过js跨域获取其它页面内容值

用js向这个页面主动发起一个请求不就可以获取这个页面的内容了吗?
以用jquery发起一个post请求为例,假设你要获取的页面是http://www..com/a.html:
$.post('http://www..com/a.html',{}, function(response){
// response就是返回的页面内容,然后我们可以对其做进一步的处理
},'html');

④ 如何解决跨域问题

关于跨域名问题还是问题么,这方面的解决实践非常多,今天我就旧话重提把我所知道的通过几个应用场景来分别总结一下(转帖请注明出处:http://blog.csdn.net/lenel)

先说明一点:我说的某某域名在您的控制下的意思是这个域名下的网页由您来负责开发内部的JavaScript
场景一:将bbs.xxx.com的页面用iframe嵌入到www.xxx.com的中,如何在iframe内外使用js通信(转帖请注明出处:http://blog.csdn.net/lenel)
一级域名都是xxx.com 这个域名一定是在您的控制下,所以你只要在两个页面中同时升级域名即可
在父窗口和iframe内部分别加上js语句:document.domain="xxx.com";
之后2个页面就等于在同一域名下,通过window.parent oIframe.contentDocument就可以相互访问,进行无障碍的JS通信
在新浪、淘宝等很多页面都能找到这样的语句。不过document.domain不可以随便指定,只能向上升级,从bbs.xxx.com升级到yyy.com肯定会出错

场景二:将www.yyy.com的页面用iframe嵌入到www.xxx.com的中,两个域名都在您的控制下,如何在iframe内外进行一定的数据交流(转帖请注明出处:http://blog.csdn.net/lenel)
你可以通过相互改变hash值的方式来进行一些数据的通信

这里的实现基于如下技术要点:
1、父窗口通过改变子窗口的src中的hash值把一部分信息传入,如果src只有hash部分改变,那么子窗口是不会重新载入的。
2、
子窗口可以重写父窗口的location.href,但是注意这里子窗口无法读取而只能重写location.href所以要求前提是您控制两个域名,知
道当前父窗口的location.href是什么并写在子窗口内,这样通过parent.location.href =
"已知的父窗口的href"+"#"+hash。这样父窗口只有hash改变也不会重载。
3、上面两步分别做到了两个窗口之间的无刷新数据通知,
那么下面的来说如何感知数据变化。标准中没有相关规定,所以当前的任意浏览器遇到location.hash变化都不会触发任何javaScript事
件,也就是说您要自己写监听函数来监视loaction.hash的值的变化。做法是通过setTimeout或者setInterval来写一个监听函
数每20-100ms查看一下hash是否变化,如果变化了驱动js根据新的数据做想做的事情。

这种实现的一些分析:
1、信息通道是双向的,当然会兼容单向,如果只是父窗口向子窗口通知数据,只需要子窗口写hash监听,反之亦然。
2、局限性也是颇大,因为这种通信的前提是双方知道对方的location.href。如果父窗口带有动态的location.search也就是查询参数,那么子窗口的处理上就比较困难,需要把父窗口的location.search作为传递信息的一部分告知子窗口。
3、另外的困扰会有浏览器带给你,IE之外的浏览器遇到hash的改变会记录历史,这样你在处理前进后退的时候会非常头疼

场景三:将www.yyy.com的页面用iframe嵌入到www.xxx.com的中,只有被嵌入的yyy.com在您的控制下,如何在iframe内外进行一定的交流
真实场景:google adsence的一个需求,你希望google发现您的页面不能匹配出相关性非常好的按点击付费广告时,你希望google的广告iframe能够隐藏。
google的广告iframe在google域下显然不能把自己隐藏掉,那么怎么办呢?
1、google会提供给你一个html页面
2、您将这个页面放置在您的域名下,并告诉google它的位置
3、当google发现没有很好的广告时,会将子窗口的loaction重定向到您的那个页面下,这样您的页面因为同域名就可以访问父页面来隐藏自己了
是不是很巧的方法?

场景四:您是内容发布商,如何改造接口,让其他域名下的页面可以从浏览器端出发获得您的数据
我们知道ajax的xmlHttpRequest()说到底是一个无刷新请求服务器数据的辅助工具,但是xmlHttpRequest并不能跨域名请求数据,在某些情况下成了极大的限制。
但是我们如果通过其他方式完成无刷新请求数据不也可以么,我们用Dom方法操作动态JS脚本请求来做这件事。
//创建一个脚本节点
var oScript = document.createElement('script');
//指定脚本src src可以指向任意域名
//注意src不再指向静态js,而是带着查询参数指向一个动态脚本广播服务。
oScript.src = "http://yyy.com/query.php?"+yourQueryString;

//如果指定了charset 同时还可以解决xmlHttpRequest另一大困扰 乱码问题

//oScript.charset = "utf-8";
//通过Dom操作把这个新的节点加入到文档当中
document.getElementsByTagName("head")[0].appendChild(oScript);

这样只要query.php的输出是可执行的javaScript脚本,比如:djsCallBack({jsondata});
当他从服务器返回后就会自动执行,你可以方便的用json方式来做数据传递了。
要注意,您的脚本请求最好带上时间戳,避免浏览器缓存造成取回数据实时性下降。

如果您是数据提供者,您可以要求数据索取者在查询参数中提供回调函数名,比如query.php?callback=myDataHandler&key=...?
这样您就可以根据参数来提供给他myDataHandler({jsondata}),这样不同的数据索取者都会得到自定义的正确的异步回调。

进一步发展,可以做一个统一的从xml到动态json的数据转化服务器,脱离数据的实际意义,针对任何xml接口都可以作为转化后提供给客户端直接访问。
这样就不用针对单独xml数据服务,为了跨域名而做各自的后台数据抓取转化服务。

用动态脚本传数据功能非常强大,去年我最先在YAHOO的站点上看到这样的应用,让人眼前一亮。

总结总结:
第一种场景,相应的处理办法有这非常好的效果,可以说完全解决了问题。
第二种场景,相应的处理办法具有一定的跨域数据交流功效,具有相当大的局限,并不适合在复杂业务流程中应用,实际上我也确实也没看到过基于此的大规模应用。
第三种场景,相应的处理办法比较巧妙,虽然redirect之后就不干你什么事了,但如果你是google一样面向众多域名的内容提供商,也是个不错的解决思路。
第四种场景,相应的处理办法非常强大,对比Ajax可以看到,跨域名没问题,无刷新没问题,本身又是异步的,JSON比xml快的多,同时解决乱码问题,只是请求都是Get方式的,不能做Post方式的请求。多一种武器自然可以从容选择了

⑤ 跨域是指什么,因为什么引起的有哪些解决方案web前端知识

广义跨域就是指跨域访问,简单来说就是 A 网站的 javascript 代码试图访问 B 网站,包括提交内容和获取内容。由于安全原因,跨域访问是被各大浏览器所默认禁止的。

当一个域与其他域建立了信任关系后,2个域之间不但可以按需要相互进行管理,还可以跨网分配文件和打印机等设备资源,使不同的域之间实现网络资源的共享与管理。这就形成了“跨域”。

⑥ 通过js保存图片到本地中遇到的跨域问题

<html>
<metahttp-equiv="X-UA-Compatible"content="chrome=1">
<head>
<script>
window.onload=function(){
draw();
varsaveButton=document.getElementById("saveImageBtn");
bindButtonEvent(saveButton,"click",saveImageInfo);
vardlButton=document.getElementById("downloadImageBtn");
bindButtonEvent(dlButton,"click",saveAsLocalImage);
};
functiondraw(){
varcanvas=document.getElementById("thecanvas");
varctx=canvas.getContext("2d");
ctx.fillStyle="rgba(125,46,138,0.5)";
ctx.fillRect(25,25,100,100);
ctx.fillStyle="rgba(0,146,38,0.5)";
ctx.fillRect(58,74,125,100);
ctx.fillStyle="rgba(0,0,0,1)";//blackcolor
ctx.fillText("Gloomyfish-Demo",50,50);
}

functionbindButtonEvent(element,type,handler)
{
if(element.addEventListener){
element.addEventListener(type,handler,false);
}else{
element.attachEvent('on'+type,handler);
}
}

functionsaveImageInfo()
{
varmycanvas=document.getElementById("thecanvas");
varimage=mycanvas.toDataURL("image/png");
varw=window.open('about:blank','imagefromcanvas');
w.document.write("<imgsrc='"+image+"'alt='fromcanvas'/>");
}

functionsaveAsLocalImage(){
varmyCanvas=document.getElementById("thecanvas");
//tion.
//varimage=myCanvas.toDataURL("image/png").replace("image/png","image/octet-stream;Content-Disposition:attachment;filename=foobar.png");
varimage=myCanvas.toDataURL("image/png").replace("image/png","image/octet-stream");
window.location.href=image;//itwillsavelocally
}
</script>
</head>
<bodybgcolor="#E6E6FA">
<div>
<canvaswidth=200height=200id="thecanvas"></canvas>
<buttonid="saveImageBtn">SaveImage</button>
<buttonid="downloadImageBtn">DownloadImage</button>
</div>
</body>
</html>


好像这个可以 不错 你试一试吧 把下载下来的文件 重命名 为 图片格式 就可以预览啦

⑦ 请问跨域访问是什么意思啊,谢谢

域(Domain)是Windows网络中独立运行的单位,域之间相互访问则需要建立信任关系(即Trust Relation)。信任关系是连接在域与域之间的桥梁。当一个域与其他域建立了信任关系后,2个域之间不但可以按需要相互进行管理,还可以跨网分配文件和打印机等设备资源,使不同的域之间实现网络资源的共享与管理。 有一种简明的说法来解释广域跨域:跨域访问,简单来说就是 A 网站的 javascript 代码试图访问 B 网站,包括提交内容和获取内容。由于安全原因,跨域访问是被各大浏览器所默认禁止的。

⑧ 《管理学》中跨域管理是什么意思求详解

跨域管理主要强调组织与外部环境间之互动,同时关注组织管理者对系统边
界的认知与突破,并且强调应该藉由各种行政策略运作,从外部环境汲取或交换
组织所需的各项资源。

⑨ 跨域 403 forbidden nginx怎么解决

403 错误是由两种原因引起的

1、 网站没有设置默认页
2、权限不足
主要针对第二个原因分析解决办法
1、如果你是通过浏览器正常访问 当出现403时 尝试清空浏览器记录(cookie) 再次访问如果还是出现403 在尝试切换ip(代理或重拨宽带) 如果还是不能访问 那没办法 堆糖网在服务器端 根据你的mac地址或者其他的唯一标识限制了你的访问

有些网站为了防止其他人采集他们会限制单个用户在一定时间内访问的次数
2、如果你是通过程序进行采集 可以尝试伪造Referer、Host、User-Agent

阅读全文

与啥叫跨域视觉分析相关的资料

热点内容
华信信托公司网站 浏览:497
红宝石信托 浏览:759
1910铜期货 浏览:158
身份证理财好不好 浏览:241
北京做交易员 浏览:79
期货期指费率 浏览:464
芒果出行融资 浏览:181
华融资产管理公司江苏分公司 浏览:372
并购基金信托 浏览:865
能源站融资 浏览:217
e租宝投资的项目 浏览:185
哪家科技创新基金好 浏览:718
重庆新亿融资担保有限公司 浏览:843
证大无抵押贷款工作怎么样 浏览:795
凤竹纺织的股票行情 浏览:979
汇鼎理财群 浏览:624
政府性价格调节基金 浏览:967
融资客的疯狂 浏览:987
今日黄金价格一钱多少钱 浏览:587
超牛指标 浏览:900