【问题标题】:iFrame src something other than javascript:false but same effectiFrame src 不是 javascript:false 但效果相同的东西
【发布时间】:2010-03-23 21:09:24
【问题描述】:

有没有其他写javascript:false更舒服的方式?

我正在为 Intranet 应用程序(用于 IE6)构建打印功能,并使用 iframe 制作打印页面:

$('body').append('<iframe id="printIFrame" src="javascript:false"></iframe>');
$("#printIFrame").attr('style','position:absolute;left:-500px;top:-500px;');

如果 src 中没有 javascript:false,我会在创建时弹出“此页面包含安全和非安全项目”弹出窗口。然而,这样做的缺点是“javascript:false”被打印为每个页面左下角的标题(而不是 about:blank 或更有用的东西)。

是否有某种 javascript 技术我可以编写 javascript:false 但更简洁?我试过这样的东西

var PrintOut = false;
$('body').append('<iframe id="printIFrame" src="PrintOut"></iframe>');

但我无法让它工作。还有其他想法吗?

【问题讨论】:

    标签: javascript iframe internet-explorer-6


    【解决方案1】:

    使用相同协议的现有但空的资源怎么样?

    <iframe id="printIFrame" src="https://example.com/empty.html"></iframe>
    

    为了使其完美,您甚至可以让empty.html 发送一个204 No Content 标头来表示它是空的。 (信息here

    【讨论】:

    • 我认为您的意思是状态 204,对吗?那是“没有内容”; 402是“需要付款”。
    【解决方案2】:

    为了避免不必要的请求,您必须使用&lt;iframe src="about:blank"&gt;&lt;/iframe&gt;

    【讨论】:

      【解决方案3】:

      我认为您应该为您的 iframe 使用“/blank.do”或来自同一服务器(或来源,而不是)的东西作为(临时?)src。那么你不应该得到“不安全”的东西。
      为什么要/需要通过 javascript 来完成?

      【讨论】:

      • 这会导致浏览器发出不需要的请求,这取决于具体情况可能会影响性能。
      猜你喜欢
      • 1970-01-01
      • 2014-04-07
      • 1970-01-01
      • 2011-04-27
      • 1970-01-01
      • 1970-01-01
      • 2023-04-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多