- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我的应用程序在 仅 SSL 网站上使用 Dojo 1.1.1。它目前正在利用 dijit.ProgressBar
和 dijit.form.DateTextBox
。
在 Firefox 2 和 3 中一切都很好,但是当我在 IE7 中尝试相同的脚本时,结果是一个烦人的安全信息对话框:
This page contains both secure and non-secure items. Do you want to display the non-secure items?
我已经仔细检查了该页面是否有任何非 HTTPS 引用,但均无济于事。它似乎是特定于 dojo.js
的东西。曾经有一个 iframe
故障,其中 src
被设置为空,但这现在似乎已修复(在查看源代码时)。
还有其他人遇到这个问题吗?让 Dojo 在 仅 SSL 网络服务器上与 IE 良好配合的最佳实践是什么?
最佳答案
在检查了 Dijit 的 JavaScript 源代码后,我认为错误很可能是由于对动态生成的 IFRAME 的“不安全”引用造成的。请注意,脚本文件有两个版本,未压缩版本代表原始源 (dijit.js.uncompressed.js),标准版本 (dijit.js) 已压缩以获得最佳传输时间。
由于未压缩版本的可读性最高,我将在此基础上描述我的解决方案。在第 1023 行,一个 IFRAME 在 JavaScript 中呈现:
if(dojo.isIE){
var html="<iframe src='javascript:\"\"'"
+ " style='position: absolute; left: 0px; top: 0px;"
+ "z-index: -1; filter:Alpha(Opacity=\"0\");'>";
iframe = dojo.doc.createElement(html);
}else{...
有什么问题? IE 不知道 IFRAME 的 src 是否“安全”——所以我将其替换为以下内容:
if(dojo.isIE){
var html="<iframe src='javascript:void(0);'"
+ " style='position: absolute; left: 0px; top: 0px;"
+ "z-index: -1; filter:Alpha(Opacity=\"0\");'>";
iframe = dojo.doc.createElement(html);
}else{...
这是 IE 中 JavaScript 工具包和 SSL 最常见的问题。由于 IFRAME 由于对 DIV 的覆盖支持不佳而被用作垫片,因此这个问题非常普遍。
我的前 5-10 个页面重新加载都很好,但随后安全错误又开始弹出。这怎么可能?同一页面在 5 次重新加载时是“安全的”,然后在第 6 次加载时被 IE 选择为“不安全”。
事实证明,在 dijit.wai 的 onload 事件中还设置了背景图像(第 1325 行)。内容是这样的;
div.style.cssText = 'border: 1px solid;'
+ 'border-color:red green;'
+ 'position: absolute;'
+ 'height: 5px;'
+ 'top: -999px;'
+ 'background-image: url("' + dojo.moduleUrl("dojo", "resources/blank.gif") + '");';
这行不通,因为背景图片标签不包含 HTTP。尽管该位置是相对的,但 IE7 不知道它是否安全,因此会发出警告。
在此特定实例中,此 CSS 用于测试 Dojo 中的辅助功能 (A11y)。由于这不是我的应用程序支持的东西,并且由于此方法存在其他一般错误问题,我选择删除 dijit.wai 的 onload() 中的所有内容。
一切顺利!页面加载没有零星的安全问题。
关于javascript - 使用 IE 和 SSL 编写 Dojo,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59734/
我是网页设计新手。现在我遇到了我目前工作的 2 个网站的问题。我的模板只支持 Firefox 浏览器,不支持其他主流浏览器,如 IE、chrome、Opera、safari。 我试过一些 If IE
在我的 HTML 上,使用了下面的元标记来解决一些字体问题。我只想知道: 这两个元标记的含义相同吗?还是每一个都不一样? [以逗号分隔] [以分号分隔] 请解释一下。 最佳答案 Microsoft
这句话究竟是什么意思? 部分示例使用 ,分隔 IE 的版本,而有些使用 ; ;哪个是正确的? 订单IE=9; IE=8; IE=7; IE=EDGE有一些重要性,我想知道。 编辑:我正在使用 最佳答
这句话究竟是什么意思? 一些示例使用 ,分隔 IE 的版本,而有些使用 ; ;哪个是正确的? 订单IE=9; IE=8; IE=7; IE=EDGE有一定的重要性,我想知道。 编辑:我正在使用 最佳
在 IE 8 中,我们可以带出开发者工具。然后在顶部,有一个浏览器模式: IE 7 IE 8 IE 8 Compatibility View 所以如果 IE 7是强制页面显示为好像浏览器是 IE 7,
我认为不需要任何描述。我只需要我的 IE 11 单选按钮与 IE 8 中的一样,即颜色为 3-d 蓝色。在 IE 11 中,默认单选按钮是二维的,颜色为黑色。目前还没有解决这个问题。 最佳答案 检查这
我必须编写一个显示密码对话框的小程序。问题是对话框设置为始终在顶部,但是当用户单击 IE 窗口时,对话框仍然隐藏在 IE 窗口后面。并且由于对话框是模态的并且保持全部 IE 线程 IE Pane 不会
如何制作适用于所有 IE 浏览器的样式表。不只是 ie.css 中的 IE 8 本站主题的ie.css文件中只包含IE8样式。 最佳答案 他们这样做的原因是因为他们可能不支持 Internet Exp
使用有什么区别吗 ... 或者 ... ? 最佳答案 如果一种罕见的、神话般的浏览器被称为 ,就会有所不同。 Internet Explorer 6.66 被发现。 关于internet-explor
我试图在 IE7+8 中使用字体图标并遇到了一个问题,这个问题可以通过仅 IE7 的样式表轻松解决。长话短说,现在 IE7 和 IE9 都以某种方式运行我的仅 IE7 样式表(IE8 运行得很好)。我
我实现了上传的图片显示在网站上。为了 图片未正确上传意味着我将错误图片替换为 那?当我加载网站时,我遇到了 错误图像不存在的问题 定义,并且灯箱在 chrome 和 firefox 中加载 但它没有在
我有一个特殊的问题。我正在尝试“现代化”和为旧 IE 制作的旧应用程序,以便在 IE 11 中工作。但不知何故,CSS 类没有应用于 DOM 元素。 CSS 非常简单: .header { h
对于 IE 7 和 IE 8,IE 上 URL 的 2k 长度限制是否仍然存在? (后 IE 6 时代) 最佳答案 http://support.microsoft.com/kb/208427 似乎它
我们正在完善这个网站:dev.underglassframing.com 除了主要内容 div (#main) 后面的背景在 IE 7、8 和 9 中的内容之前停止外,在每个浏览器中一切都很好。我在末
我在 IE 11 中搜索过与 border-radius 相关的类似问题,但是 only one found on the Microsoft IE Developer site描述了自从“升级”到
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit th
这个问题在这里已经有了答案: (CSS?) Eliminating browser's 'selected' lines around a hyperlinked image? (5 个答案) 关闭
我知道有 1000 个问题,但我就是无法让它发挥作用。我只是想针对所有版本的 IE(包括 IE11)并给 html 一个特定的类,对于所有其他浏览器(firefox、opera、chrome),我希望
我有一个嵌入了 Internet Explorer 的程序。 在某些情况下,我需要调整嵌入式 IE 的缩放级别。我正在使用带有 OLECMDID_OPTICAL_ZOOM 的 ExecWB 命令来执行
我正在开发一个网络应用程序。我的应用程序在 chrome 和 firefox 上运行良好,但由于某种原因在 IE 中出现了一些错误。即使出现几个错误,应用程序仍然可以顺利运行,没有明显的问题。 我想对
我是一名优秀的程序员,十分优秀!