上一主题 下一主题
ScriptCat,新一代的脚本管理器脚本站,与全世界分享你的用户脚本油猴脚本开发指南教程目录
返回列表 发新帖

XPCNativeWrapper的限制

[复制链接]
  • TA的每日心情
    开心
    前天 00:00
  • 签到天数: 53 天

    [LV.5]常住居民I

    352

    主题

    3091

    帖子

    3100

    积分

    管理员

    非物质文化遗产社会摇传承人

    Rank: 10Rank: 10Rank: 10

    积分
    3100

    猫咪币纪念章国庆纪念章中秋纪念章荣誉开发者家财万贯管理员

    发表于 2021-1-10 01:29:46 | 显示全部楼层 | 阅读模式

    原文链接https://developer.mozilla.org/zh-TW/docs/XPCNativeWrapper

    转载自mozila

    这里有一些不能被用在XPCNativeWrapper的一般使用的属性跟程序风格。

    1.对一个DOM node或是window物件的XPCNativeWrapper给予或是读取一个on*属性将会丢出Exception。(使用addEventListener取代,并且用event.preventDefault();在你的处理器内假如你之前用了return false;)

    2.不能够在XPCNativeWrapper内用window名称存取iframe(e.g.window.framename)。

    3.document.all在XPCNativeWrapper内不能用。

    4.在XPCNativeWrapper内不行对HTML文件用name存取命名的东西。举例,假如你有并且docWrapper是一个对HTML文件doc的伪装器,那当docWrapper为定义时,doc.foo是一个HTMLFormElement。希望这样做的程序能够使用docWrapper.forms.namedItem('foo')取代。

    5.对HTML文件,在XPCNativeWrapper内用id存取node是不行的。因该用getElementById()取代。

    6.对HTML form,在XPCNativeWrapper内用name存取input是不行的。想这样做的程序必须使用form.elements.namedItem('foo')取代。

    7.对HTMLCollection,在XPCNativeWrapper内用name存取元素是步行的。想这样做的代码必须使用namedItem()方法。注意这个namedItem只回传第一个有name的input元素,即使有很多个有相同名称的元素(e.g. Radio buttons)。

    8.同样的,对plugin、pluginArray、或是MimeTypeArray,在XPCNativeWrapper内用name存取items是不行的。你必须使用namedItem()取代。

    9.不能经由XPCNativeWrapper呼叫由NPAPI plugin实作的方法。

    10.不能够经由XPCNativeWrapper取得(getting)或是设定(setting)由NPAPI plugin实作的属性。

    11.不能够经由XPCNativeWrapper呼叫经由XBL binding附加到node上的方法。

    12.不能够经由XPCNativeWrapper取得(getting)或是设定(setting)经由XBL binding附加到node上的属性。

    13.经由'for(var p in wrapper)'列举XPCNativeWrapper的属性不会列举IDL定义的属性。

    14.Object.prototype不在XPCNativeWrapper的原型炼里面。As aresult,变异的Object.prototype被定义在XPCNativeWrapper(更准确一点,这里有protoparentcount,toSource,toLocalString,valueOf,watch,unwatch,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,defineGetterdefineSetterlookupGetter,andlookupSetter)。

    15.没有实作旧的XPCNativeWrapper有的importXPCNative,

    16.不能经由XPCNativeWrapper存取标准类别(例如Function)。要对特定的window的parent建立function和物件,使用window的eval()function。

    17.对'expando'的属性使用删除操作元在XPCNativeWrapper会丢出安全性Exceprion。

    混的人。
    ------------------------------------------
    進撃!永遠の帝国の破壊虎---李恒道
    个人宣言:この世界で私に胜てる人とコードはまだ生まれていません。死ぬのが怖くなければ来てください。
  • TA的每日心情
    擦汗
    2022-7-14 17:11
  • 签到天数: 14 天

    [LV.3]偶尔看看II

    106

    主题

    462

    帖子

    619

    积分

    版主

    Rank: 8Rank: 8

    积分
    619

    猫咪币纪念章活跃会员热心会员三好学生中秋纪念章国庆纪念章家财万贯

    发表于 2021-1-10 12:21:18 | 显示全部楼层
    哥哥牛逼,虽然我看不懂
    提及少年一词,应与平庸相斥!微信公众号——智家乐享
    回复

    使用道具 举报

    发表回复

    本版积分规则

    快速回复 返回顶部 返回列表