通过Http Get向IE中的iframe传递querystring参数时出现问题
这是我之前问题的后续内容:。这个问题一直没有解决通过Http Get向IE中的iframe传递querystring参数时出现问题,iframe,query-string,cross-browser,cross-domain,http-get,Iframe,Query String,Cross Browser,Cross Domain,Http Get,这是我之前问题的后续内容:。这个问题一直没有解决 这是它的核心: 我正在尝试从中执行HTTP GET 我的网站到另一个网站是 通过iframe引入 在Firefox上,您可以在源代码中看到 iframe中是否存在正确的url src和它是正确的 参数——它是有效的 在IE上,你可以在源代码中看到 正确的url位于iframe src中 以及它的正确参数-- 但它不起作用 这有什么关系吗 不允许传递参数 通过查询字符串中的iframe 我已经尝试刷新了iframe 我试着刷新我的页面& IE中的
这是它的核心: 我正在尝试从中执行HTTP GET 我的网站到另一个网站是 通过iframe引入 在Firefox上,您可以在源代码中看到 iframe中是否存在正确的url src和它是正确的 参数——它是有效的 在IE上,你可以在源代码中看到 正确的url位于iframe src中 以及它的正确参数-- 但它不起作用 这有什么关系吗 不允许传递参数 通过查询字符串中的iframe 我已经尝试刷新了iframe 我试着刷新我的页面& IE中的iframe,我已经尝试过了 复制url并将其重新粘贴到 iframe src(强制刷新) 好像我刚把它输入了 该iframe窗口的地址栏)。 还是不走运 有人知道为什么会这样,或者 你有什么建议可以试试看吗 围绕着这个 至于代码,它所做的只是创建 页面上后端代码中的src 加载并设置src属性 从后端
//设置src的后端代码
mainIframe.Attributes[“src”]=srcWeJustCreated;
//前端iframe代码
我已经为您建立了一个临时帐户,您可以登录并完全了解我的意思。这样,您就可以使用firebug或任何其他调试技术来找出为什么这不起作用,而不是让我来解释发生了什么 编辑:更改了帐户凭据。请改用这个
用户名:matt
密码:globalbuying 请跟随进入登录页面。如果您使用上述凭据登录,它将带您进入后端主页面。单击左侧显示“休假”的图像,这将为您带来一个带有iframe的页面,并从那里执行httpget 如果你需要更多关于后台代码的细节,请告诉我,我会发布它们 谢谢,
Matt您提供的示例页面在IE8中为我工作。iframe没有chrome中的那么高,但它确实有正确的页面
另一方面,请注意,通过查询字符串传递登录凭据是非常不安全的,并且容易受到各种攻击。iframe的URL中的符号似乎是HTML编码的(
&;
)。
我想这可能会导致IE在识别param名字时窒息。如果在URL中使用普通的符号,问题是否仍然存在
如果SRC属性上的编码是隐式发生的,您可能需要考虑使用<代码>文字< /代码>控件进行测试,并将其<代码>文本<代码>属性设置为整个iFrAME标签,以避免任何不必要的编码。我发现IE可以发出请求,但无法在
iframe
中设置任何cookie
我还注意到,如果我单独打开带边框的页面,它确实可以工作。更重要的是,在再次登录之后,iframed版本也能正常工作。这是因为它已经有了一个会话cookie,iframe
不再需要设置它
事实证明,这是一个已知的安全限制:IE在iFrame中阻止Cookie。但这可以通过使用
这里有几个链接可以帮助您解决这个问题。从StackOverflow的另一个(已回答)问题开始:
//Backend code to set src
mainIframe.Attributes["src"] = srcWeJustCreated;
//Front end iframe code
<iframe id="mainIframe" runat="server" />