有一些我需要通过以下方式工作的Javascript:
://localhost
://服务器名称
:/www.domainnamefortheserver.com
当我使用引用域的 IFRAME 从http://servername运行脚本时- 它不会加载。
有没有办法让 Javascript 安全模型将服务器名称、本地主机和域识别为同一个“域”?
谢谢
有一些我需要通过以下方式工作的Javascript:
://localhost
://服务器名称
:/www.domainnamefortheserver.com
当我使用引用域的 IFRAME 从http://servername运行脚本时- 它不会加载。
有没有办法让 Javascript 安全模型将服务器名称、本地主机和域识别为同一个“域”?
谢谢
如果您在 UNIX 上运行,您可以编辑 /etc/hosts 为您的服务器提供一个虚假的 DNS 条目。
例如。
127.0.0.1 localhost www.domainnamefortheserver.com
然后,即使它尚未在实时站点上,您也可以始终以正确的名称连接到它。不要尝试直接破坏 javascript 安全性。
这也适用于 OSX。我希望 Windows 的工作方式有所不同。
如果您使用服务器端语言来生成页面,您可以像这样设置安全域:
document.domain = $CURRENT_HOSTNAME;
所以安全域将是用户请求的域。这是在黑暗中拍摄的,但我希望它仍然有帮助。
使用根相对 URI:
href="/foo/bar"
而不是绝对 URI:
href="http://example.com/foo/bar"
这样,文档将从相同的主机名加载。
你是什么意思
我的参考是域名
?
如果您在http://servername上的页面中加载脚本(使用<script src=''>
),他们将可以访问http://servername上的所有内容,即使它们来自另一个域。
但是,如果您尝试对其他域进行 AJAX 调用,那么您就会遇到问题。您可以使用 Christopher 解释的技巧,即为域设置别名。