【发布时间】:2018-05-07 16:55:03
【问题描述】:
当下面的代码在 chrome、firefox 中执行时,不会出现错误。但是 safari 抛出 TypeError: Attempting to change configured attribute of unconfigurable property。 我不明白 src 是否不可配置,那么为什么 chrome 和 firefox 不会出现错误。
Object.defineProperty(iframe, 'src', {
writable: false, configurable: true
});
Safari 版本 11.0.1
PS - 我知道更改现有的不可配置属性会引发此错误,但为什么不是 chrome 和 firefox
【问题讨论】:
-
它仅在 Safari 中不可配置。不同的浏览器有不同的 DOM 实现。
-
不要试图改变宿主对象的属性。你为什么要这样做?
-
@Bergi 我已经设置了我的 src = "" 并且我不希望我的 src 被修改,否则会导致跨源错误。
-
@SLaks 有什么办法吗?
-
@megha - "...而且我不想修改我的 src..." 所以...不要修改它?这听起来像X/Y problem,上面是 Y;或许我们可以帮助解决 X 问题?
标签: javascript html object ecmascript-5