document.location / parent.location - 它们可以被阻止吗?

时间:2011-06-30 07:45:51

标签: javascript

我在我的网站上使用上述2个命令。它似乎适用于95%访问它应该触发的页面的人,但对其他人来说却没有。

有谁知道这些javascript命令是否可以被阻止?我有一个真正的头痛,找出他们为什么有时不工作。

p.s我不是将这些用于垃圾邮件或其他任何东西,仅用于处理付款。

感谢。

编辑:我有一个标签替换JS被禁用。我更多地考虑用户通常不知道的随机阻塞。没有报告此问题的人可能会安装弹出窗口阻止程序

3 个答案:

答案 0 :(得分:4)

使用window.location代替document.location获得所有浏览器的完全支持。

你在使用iframe吗?这是您使用window.parentwindow.parent只指向当前窗口的唯一原因。

如果您在iframe中运行此代码以更改父窗口位置(window.parent.location) - 它只能在同一个域上运行。如果域名不同,您的代码将失败。

使用document.domain可以解决子域名支持问题,但我已经对您的问题做了太多假设。

答案 1 :(得分:0)

客户端的任何内容都可以被阻止。两个例子:

  1. 只需在浏览器中停用javascript
  2. 即可
  3. 使用禁用某些Javascript操作的插件(类似于Firefox的TamperData)

答案 2 :(得分:0)

正如RobG在评论中所说,document.location不是标准的一部分,尽管在某些浏览器中实现。我认为你应该使用window.location。请参阅document.location上的this mozilla reference中的注释,其中说document.location曾经是一个只读属性而且是非标准的,建议使用window.location。

如果您构图并且父框架与框架的原点不同,则可以使用同源安全设置阻止parent.location。