- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
这是一个非常紧迫的问题,我将永远感激任何能提供一些见解的人。
我要将一个小部件(称为“ISM”)部署到第三方站点。该站点使用 document.domain JavaScript 属性来放宽跨域限制(例如,将“a.example.com”和“b.example.com”中的 document.domain 设置为“example.com”,以便它们可以访问每个其他人的 DOM)。
由于我构建用于显示小部件 HTML 内容的 <iframe> 的方式,这会导致我在 Internet Explorer 中的脚本出现问题。在 Internet Explorer 中,在页面上使用 document.domain,然后使用 JavaScript 创建一个 <iframe>,将导致您立即被“锁定”在 <iframe> 之外 - 即,您可以创建它,但它不是在正确的 document.domain,因此由于安全限制,您无法访问其 DOM。这在任何其他浏览器中都不是问题。
要了解我在说什么,请在 IE 中加载此页面:
http://troy.onespot.com/static/3263/stage1.html
您应该会看到一个 JavaScript 错误:“访问被拒绝。”
为了解决这个问题,我将动态创建的 <iframe> 的“src”属性设置为加载托管在同一域(不同子域)中的静态 HTML 文件,并将其 document.domain 属性设置为合适的值:
http://troy.onespot.com/static/3263/stage2.html
这样就解决了安全问题,让我把原本想写的文档写到 <iframe> 中:
http://troy.onespot.com/static/3263/stage3.html
有了该文档,我的小部件就会对我们的服务器进行一些轮询,以获取一些我想插入到另一个 <iframe> 中的 HTML 内容,这将对父页面的访问者可见。我在这里粗略地模拟了这一点(使用静态内容,实际上没有联系我们的服务器):
http://troy.onespot.com/static/3263/stage4.html
问题来了。当我获取该 HTML 内容并将其插入第二个 <iframe> 时,我现在面临一个异常问题,即“后退”按钮损坏。这种情况发生在 Firefox 3.0 和所有版本的 IE(可能是其他浏览器)中,尽管它不会发生在我测试过的某些浏览器(Firefox 3.5、Safari、Chrome)中。查看此页面:
http://troy.onespot.com/static/3263/stage5.html
如果您点击“Google”链接,一切似乎都很好。但是,当导航回上一页(具有后一个测试脚本)时,会引入另一个 JavaScript 错误:“权限被拒绝”。这不会终止脚本,并且似乎没有任何不良影响,除了我认为它与损坏的“后退”按钮功能相关的事实,这是一个非常大的问题 - 我正在拼命尝试解决。我无法调试此错误,因为它的调用堆栈在 jQuery 脚本中开始和停止。
您也可能遇到此错误 - 症状更严重 - 通过转到上面的最后一个链接(stage5.html - 首先清除浏览器缓存)。单击“第 5 阶段(再次)”链接,然后在加载该页面后单击“返回”按钮。
“后退”按钮完全坏了!除了另一个 URL,你不能去任何地方。
这是我需要尽快解决的问题。任何见解或帮助将非常感激不尽!
我不能偏离这个方法太多,所以非常欢迎开箱即用的建议,但由于小部件规范的限制,我可能无法使用它们。我更愿意了解“后退”按钮为何损坏以及如何修复它,以及与 jQuery 相关的“权限被拒绝”错误。
最佳答案
由于存在多个域,因此很难尝试解决此问题。我听说的一件事是 IE 将空白 src 或“about:blank”视为不同的域,但它将“javascript:”“”视为相同的域。您是否尝试过更改第一阶段以将 iframe src 设置为以下内容:
iframe.src = 'javascript:""'
或者:
iframe.src = 'javascript:parent.getFrameHTML()'
关于javascript - Document.domain 和 <iframe>s 破坏了 Internet Explorer 中的 "Back"按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1949749/
我正在审查一家海外开发公司为我们制作的一些 html。他们在外部脚本加载标签内使用注释——据我所知,这只对非常老的 javascript 不敏感的浏览器有用,他们曾经将脚本呈现为文本——是否有任何现代
这个问题在这里已经有了答案: Are HTML comments inside script tags a best practice? [closed] (10 个答案) 关闭 8 年前。 我正在
哪个更好用或者更方便: ... 或 ... 最佳答案 你真的需要类型属性吗?如果您使用的是 HTML5,则不会。否则,是的。 HTML 4.01 和 XHTML 1.0 指定了 type属性是必需的,
哪个更好用或者更方便: ... 或 ... 最佳答案 你真的需要类型属性吗?如果您使用的是 HTML5,则不会。否则,是的。 HTML 4.01 和 XHTML 1.0 指定了 type属性是必需的,
这个问题在这里已经有了答案: 关闭 11 年前。 Possible Duplicate: Why don't self-closing script tags work? 我刚刚发现 HTML 中的
这个问题在这里已经有了答案: What does in XML mean? (13 个答案) 关闭 8 年前。 我不熟悉 XML 及其相关技术。 这个 CDATA 标签总是在开头,然后是一些东西
我最近遇到这个问题,我试图在我的 HTML 页面中导入多个 js 文件,如下 - 但我面临的问题是,它只加载第一个 js 文件,而其余的 js 文件没有加载。我还检查了浏览器中的网络部分,剩下的
Duplicate Why don’t self-closing script tags work? 我正在编写一个 ASP.net 页面,它在 JS 文件中有一些用于客户端身份验证的 Javascr
在这个博客中, http://www.bswebdev.com/2008/12/javascript-change-input-box-type-to-password/我发现以下代码段用于在 IE6
为什么以下行在许多浏览器(mozilla、IE)中不起作用? 为什么一定要这样设置? 最近我将我的项目从 XHTML 转换为 HTML5,我遇到了一些小但令人不安的不兼容性。 最佳答案 虽然脚本元
是什么意思?这个和其他类似的 IE 代码行在 HTML5 文档中意味着什么? 如果我必须使某些 css 功能与 IE8 或更低版本兼容,上面提到的代码行或其中提到的 html 类是否有帮助? 如果
请说明 之间有什么区别标记和 标签。 Page title 如果两者都使用,哪个最优先? 我观察到一些网站同时具有 和 tags 和 两者相同,这是预期的,请确认? 如果我们不使用 标签标题,我
这个问题已经有答案了: Why don't self-closing script elements work? (12 个回答) 已关闭 7 年前。 经过两天的 Angular 与 Webpack
我有这个代码: .roll-link { display: inline-block; overflow: hidden; vertical-align: top;
我在 the HTML 4.01 specification at w3.org 中阅读了有关 HTML 文档结构的内容.然后我偶然发现了这段代码;它看起来像某种定义。你们中的任何人都可以详细说明它的
我正在网站上工作 http://palacechemicals.co.uk/它以某种方式感染了恶意(但良性)的 JavaScript 行: 在第 251 行。脚本尝试加载的 URL 返回 404,但
尝试解析引号内的 JSON 键名称,包括转义引号。我的想法是:在引号之间取任何内容而不是,并以\ 为前缀 (?
我有个小问题。 我正在尝试使用 在 IE 中打开时有条件地设置一个唯一的 css 文件,但它不起作用。 我试着穿上 , 关于 , 关于 footer .我尝试更改我的 IE 版本,但没有任何效果。
我是 Blogger 博客用户。我曾经看到一个在 CDATA 标记内定位脚本的模板,如下所示: /**/ 虽然,我之前看到过类似的代码,如下所示: // 唯一不同的是/*
让我放心。我刚学 HTML。 根据http://www.w3.org/TR/html-markup/syntax.html#comments以及我见过的许多其他网站,例如 http://www.w3s
我是一名优秀的程序员,十分优秀!