我与节点建立了聊天。此聊天在example.com的端口3000上运行。我在jQuery的ajax调用中调用它,在同一域的页面中使用此聊天。所以我在example.com:3000上运行聊天,并在example.com:80上运行包含此聊天的网站。由于不同的端口(即使在同一个域上)已经违反了同源策略,因此我在节点服务器头中包含了“Access-Control-Allow-Origin”:“*”以允许交叉调用我的聊天。
因为ajax加载聊天在example.com:80上寻找它的js / css文件我必须将example.com:3000上的js / css文件的路径设置为绝对路径。所以聊天正在寻找带有“http://example.com:3000/css/style.css”和“http://example.com:3000/js/client.js”的js / css文件。使用常规浏览器(Safari,Firefox,Chrome等)可以很好地工作,可以通过它自己的example.com:3000进行聊天,并包含在example.com:80中。
然而,这就是问题,它不适用于任何移动Safari(iPhone,iPod,Ipad)。聊天的主页将使用ajax调用加载,但后续的js / css文件未加载。我不能使用相对路径,因为client.js和style.css文件位于example.com:3000,即跨域。
我还需要放置“Access-Control-Allow-Origin”设置吗?或者我需要做些什么关于路径?或者是否需要在jQuery中进行一些设置以使其工作?我没有想法,因为除了报告错误之外,移动版Safari上没有调试工具。我没有得到。
答案 0 :(得分:0)
实际上我应该使用iframe,如果我想嵌入聊天能够拉出自己的内部文件。这就是我最终做的事情。