关于网友提出的“无法访问拒绝访问 js 跨域访问 iframe 拒绝访问???”问题疑问,本网通过在网上对“无法访问拒绝访问 js 跨域访问 iframe 拒绝访问???”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题:无法访问拒绝访问 js 跨域访问 iframe 拒绝访问???
描述: 如题 怎么解决 这个问题困扰了我 一星期
没办法了 找大家帮帮忙
我想实现的是
网站a ---> 客户p登陆
网站b --->后台 发现客户p登陆 网站a -->管理员给 客户p发出会话请求
网站a --->弹出请求层
功能挺简单 但是跨域了 很烦恼
有别的可决绝办法 更好
先谢谢大家帮助了~!
解决方案1: 疯语者,强。。。
解决方案2: 风语者,强。。。
解决方案3: javascript只能在同一域中的页面中进行通讯。
这时javascript的一种防止恶意脚本攻击你的机器的安全手段
解决方案4: A网站用ActiveX写个定时器,定时读取B网站发出的回话请求,弹出对话框即可
解决方案5: 这个蛮难实现的..如果在同一台服务器上还有可能实现
解决方案6: 我理
解决方案7: 学习下
解决方案8: 好像Ajax 不能跨域吧。我想可以用c#或者其他的后台代码来获取,然后用Ajax访问这个后台的代码页面就可以了吧。
解决方案9: mark 帮顶
解决方案10: 支持风语者.
我用的是第四种访求.
用JQuery的Ajax.getJSON跨域去获取json的.
挺方便的.
解决方案11: 纯属混分的
解决方案12: 1 :在一篇文章中看到,与 iframe 不同,如果 A 网站从 B 网站加载 javascript , A 网站可以自由的访问该 javascript 的内容,并不会被浏览器认为是跨域访问。模仿刚才 iframe 的思路,当用户点击提交时,可以动态创建一个 javascript 对象!
var url = 'http://localhost:6604/WebSite2/Default.aspx?aa=bb';
var lastScript;
var h=document.getElementsByTagName("head")[0];
function loadScript(url){
var f=document.createElement("script");
var d=new Date().getTime();
f.type="text/javascript";
f.id=d;
f.setAttribute( "src" , url);
document.body.appendChild(f);
//多次点击 删除上次的加载的内容
if(lastScript&&g(lastScript))
g(lastScript).parentNode.removeChild(g(lastScript));
lastScript=d;
}
function g(x){return document.getElementById(x)};
Default.aspx 输出的必须是 javascript 代码,它可以调用用户网页上的其他 javascript 函数,以及操作 dom 对象。
另外,需要注意的是这种方法中实际用到了 get 方法来提交信息,从一些资料上看到, get 方法每次提交的信息不能超过 2k
2:MSXML2.XMLHTTP 跨域访问【提示无权限访问】解决办法
protected void Page_Load(object sender, EventArgs e)
{
if (Request["WEB"] != null)
{
Response.Clear();
//Response.AppendHeader("Content-type", "text/xml;charset=GB2312");
System.Net.HttpWebResponse rs = (System.Net.HttpWebResponse)System.Net.HttpWebRequest.Create(Request["WEB"]).GetResponse();
System.IO.StreamReader sr = new System.IO.StreamReader(rs.GetResponseStream(), System.Text.Encoding.Default);
Response.Write(sr.ReadToEnd());
Response.End();
}
}
Default.html
通过JS获取异步数据