我生成HTML内容并存储在blob上,然后我需要在IFrame中显示。这个HTML是静态HTML,但现在我的页面使用了第三方生成的一些JavaScript(它只作用于页面本身)。使用IE,这个JavaScript在IFrame中被阻止(这在Chrome中不是问题) - 因此我需要找到一个解决方案,以便不阻止IFrame中的内容。
我考虑的一种方法是使用CustomHandler进行此操作。因此,我的处理程序可以处理以“/ blob”开头的请求,然后从blob下载内容(HTML页面或图像)并将其提供给服务器,以便浏览器看到它来自同一服务器。这是一个很好的方法吗?
如果是,那么ProcessRequest应该只下载(HTML或图像)并将其保存到context.Response.OutputStream(相应地设置ContentType)。从blob获取数据并提供数据的最佳方法是什么?
答案 0 :(得分:0)
不要将iframe用于您自己的内容。如果你想要一个可滚动的区域,可以使用CSS:
.containerContentScroll { overflow: auto; height: 500px; scrollbar-base-color: #963; }
此外,所有Azure blob内容都可以通过URL引用,您可以这样做:
<iframe src="http://myblob.blob.core.windows.net/.../image.png />
最后,如果您需要iFrame和跨域脚本,请参阅this SO post了解如何在MVC和此article on the XDomainRequest object中启用它。