我正在使用easyXDM进行跨域iframe调整大小.工作正常.
如果我想在我自己的域上使用相同的功能,我会得到;
未捕获的TypeError:undefined不是easyXDM.js文件中的函数.
有没有解决方法仍然在同一个域上使用easyXDM?
PS:我知道我可以在没有easyXDM的情况下直接访问同一个域iframe,但我只是想在使用相同的代码之前看看是否有任何解决方案.
在Microsoft Edge中,GET请求未运行.我已经逐步完成了代码运行的AJAX请求,并在回调中设置了一个断点.但是,代码永远不会到达回调.
我已经有一个带回调的.then()和.fail()设置,并尝试使用回调添加.done()和.always(),但回调函数中没有任何代码正在运行.
然后我检查了dev-tools中的网络选项卡,我根本找不到请求.似乎Edge由于某种原因没有关闭请求.
request = function(options, resolveScope) {
var deferred = $.Deferred();
corsHandler.makeRequest(options)
.done(this._wrap(function(response) {
deferred.resolveWith(resolveScope, [response]); //never gets here
}, this))
.fail(this._wrap(function(response) {
deferred.rejectWith(resolveScope, [response]); //never gets here
}, this));
return deferred;
}
Run Code Online (Sandbox Code Playgroud)
这就是上面的请求函数.
ajaxFunc = function(data, scope) {
return request({
url: '/path/to/server',
internalUrl: true,
method: 'GET',
datatype: 'json',
data: data
}, scope);
}
Run Code Online (Sandbox Code Playgroud)
这是用于发出该请求的实现.
(function() {
// set data var
return ajaxFunc(data, self)
.then(function(res) { console.log(res); }) //never gets here
.done(function(res) { console.log(res); }) //never gets here …Run Code Online (Sandbox Code Playgroud) 我试图在单个父页面上使用两个easyXDM套接字但没有成功.两个套接字都连接到相同的远程域但不同的端点.父页面有两个div false_app_div和dummy_app_div.以下显示代码片段 -
在父页面上,我有两个JS函数activate_false_app()和activate_dummy_app().
window.loadScript = function(src, onload, onerror) {
var head = document.getElementByTagName('head')[0];
var script = document.createElement('script');
script.type = 'text/javascript';
script.src = src;
if (script.readyState) {
script.onreadystate = function() {
var state = this.state;
if (state === 'loaded' || state === 'complete') {
script.onreadystate = null;
onload();
}
};
}
};
window.activate_false_app = function() {
var exdm_url = 'http://localhost:8000/js/easyXDM/easyXDM.min.js';
on_load_fn = function() {
window.init_false_app_communication();
};
on_error_fn = function() {
return false;
}; …Run Code Online (Sandbox Code Playgroud) 我正在尝试在其客户端的两个网站之间建立数据交换系统。为此,我正在使用 EasyXDM。(http://easyxdm.net/)。这是我的父网站代码:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>EasyXDM Test</title>
<script type="text/javascript" src="easyXDM.debug.js"></script>
<script type="text/javascript">
var serv_socket = new easyXDM.Socket({
remote: "http://localhost:39452/EasyXDM/Default.aspx",
onMessage: function (message, origin) {
document.getElementById('msg').innerText="Received '" + message + "' from '" + origin + "'";
},
onReady: function () {
serv_socket.postMessage("ID");
}
});
</script>
</head>
<body>
<form id="form1">
<div>
<iframe src="http://localhost:39452/EasyXDM/Default.aspx"></iframe>
<input type="text" id="msgtext" /><a href="#" onclick="serv_socket.postMessage('d')">Send message</a>
<div id="msg"></div>
</div>
</form>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
以下是位于localhost:39452域的子网站代码:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Server</title> …Run Code Online (Sandbox Code Playgroud) 我们正在使用http://easyxdm.net/wp/2010/03/17/sending-and-receiving-messages/(即基于套接字的消息)评估easyXDM以读取第三方cookie .
我们观察到easyXDM使用闪存进行通信.我很高兴您告诉我,easyXDM将继续在没有安装Flash插件的浏览器或系统上运行.
此外,我们了解Windows 8上的新版本不会正式支持闪存,因此如果任何新用户使用没有安装浏览器的闪存的Windows 8,easyXDM会继续工作吗?
我想向第三方服务器发出JavaScript跨域请求.我已经阅读了有关easyXDM的内容,但仍然无法弄清楚它是如何工作的.我在Chrome中尝试了他们的示例,但它对我不起作用(Entity to Large对于音乐和Not Allowed文本文件).
问题: easyXDM是否适合我的需求?我仍然不明白是否可以从第三方服务/域下载smth