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

XPCNativeWrapper的限制

[复制链接]
  • TA的每日心情
    开心
    2023-2-28 23:59
  • 签到天数: 191 天

    [LV.7]常住居民III

    637

    主题

    5194

    回帖

    6076

    积分

    管理员

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

    积分
    6076

    荣誉开发者管理员油中2周年生态建设者喜迎中秋

    发表于 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。

    混的人。
    ------------------------------------------
    進撃!永遠の帝国の破壊虎---李恒道

    入驻了爱发电https://afdian.net/a/lihengdao666
    个人宣言:この世界で私に胜てる人とコードはまだ生まれていません。死ぬのが怖くなければ来てください。
  • TA的每日心情
    慵懒
    2023-5-5 13:37
  • 签到天数: 15 天

    [LV.4]偶尔看看III

    117

    主题

    405

    回帖

    709

    积分

    版主

    积分
    709

    油中2周年油中3周年

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

    使用道具 举报

    发表回复

    本版积分规则

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