我的 HTML 标记非常简单
....
<iframe width="800" height="800" src="http://localhost:69345/Handler.ashx"/>
...
但是这个页面被我用过的所有浏览器阻止了。我想知道这个问题有什么解决方法吗?当然,我完全理解,如果我的页面部署到生产环境中,不会有任何问题。但是,如果 iframe 在本地被阻止,我该如何进行任何测试?
谢谢先进
不要使用绝对网址
使用相对
....
<iframe width="800" height="800" src="Handler.ashx"/>
...
当 Chrome 在 iframe 中显示以下文本时:
这是因为服务器X-Frame-Options
响应了DENY
.
解决方案是更改服务器配置,以便删除此标头或将其设置为SAMEORIGIN
.
例如,如果您使用的是 Django,您可以更改X_FRAME_OPTIONS
设置或使用@xframe_options_sameorigin
或@xframe_options_exempt
装饰您的视图。
尝试使用您机器的实际 IP 地址(通常为 127.0.0.1)...
<iframe width="800" height="800" src="http://127.0.0.1:69345/Handler.ashx"/>
不要忘记端口号!
PS:在 Mac OS 上,您可以运行类似ifconfig | grep inet
或ifconfig | grep 127
识别您的网络 IP 地址的东西。
你在这里有几个问题。首先是请求将在端口 69345 上提供服务(这看起来非常像调试器自动配置的端口)。该端口当前是否在服务请求?你能在没有 iframe 的情况下进入那个页面吗?当页面部署在生产环境中时,这个 url 绝对保证会中断,因为 localhost 总是解析为 127.0.0.1 相对于客户端,而不是服务器。您需要查看实际地址是什么或将需要是什么。正如一些发帖人在我键入此内容时已回答的那样,您的问题可能就像使用相对 url 一样简单。如果这不能解决您的问题,您将需要调查将为该处理程序提供服务的实际端口和服务器名称。
只需尝试使用相对路径
<iframe width="800" height="800" src="Handler.ashx"/>