Javascript 元素的defineProperty是否在iOS6中被破坏?

Javascript 元素的defineProperty是否在iOS6中被破坏?,javascript,ios6,defineproperty,Javascript,Ios6,Defineproperty,JavaScript的defineProperty和_defineSetter在iOS6中的元素上不起作用。它可以在所有其他浏览器和以前版本的iOS上正常工作。有人知道更多吗 <input id='Button1' type="button" value="test" onclick="test()"> <script> Object.defineProperty(Button1,'width',{set: function(x){ Button1.style.w

JavaScript的defineProperty和_defineSetter在iOS6中的元素上不起作用。它可以在所有其他浏览器和以前版本的iOS上正常工作。有人知道更多吗

<input id='Button1' type="button" value="test" onclick="test()">
<script>
Object.defineProperty(Button1,'width',{set: function(x){
    Button1.style.width=x},
    enumerable: true,
    configurable: true});

function test(){
  Button1.width="100px";
  alert(Button1.style.width);
  }
</script>

Object.defineProperty(Button1,'width',{set:function(x){
按钮1.style.width=x},
可枚举:正确,
可配置:true});
功能测试(){
按钮1.width=“100px”;
警告(按钮1.样式.宽度);
}
这是小提琴:


实际上,iOS 6似乎是Safari的第一个版本,它没有出现允许某些本机DOM属性(如宽度)被覆盖的错误,即使它们是不可配置的

在我能够测试的所有版本的Safari(移动版或其他版本)中,width属性(以及其他几个)都是不可配置的(即可配置:false)。尽管如此,桌面上当前版本的Safari和iOS 5.1及更低版本的mobile Safari将很乐意为width属性指定一个新的描述符。在iOS 6中,描述符受到尊重

值得一提的是,对于用户集属性来说,可配置是受尊重的,问题出在这些预设属性上

至于其他浏览器,Chrome将这些属性设置为可配置,Firefox似乎不会将描述符和属性相关联,这就是为什么在这些浏览器上不会出现问题的原因。我没有测试IE


在我看来,真正的问题是Safari将这些属性设置为不可配置,而在iOS 6中,它终于开始注意到了这一点。

您应该接受您以前问题的一些答案。这一点很好!我会仔细检查并关闭所有可能的。