亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? nscontextmenu.js

?? 現(xiàn)在很火的郵件客戶端軟件thunderbird的源碼
?? JS
?? 第 1 頁 / 共 3 頁
字號(hào):
# -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */# ***** BEGIN LICENSE BLOCK *****# Version: MPL 1.1/GPL 2.0/LGPL 2.1## The contents of this file are subject to the Mozilla Public License Version# 1.1 (the "License"); you may not use this file except in compliance with# the License. You may obtain a copy of the License at# http://www.mozilla.org/MPL/## Software distributed under the License is distributed on an "AS IS" basis,# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License# for the specific language governing rights and limitations under the# License.## The Original Code is Mozilla Communicator client code, released# March 31, 1998.## The Initial Developer of the Original Code is# Netscape Communications Corporation.# Portions created by the Initial Developer are Copyright (C) 1998# the Initial Developer. All Rights Reserved.## Contributor(s):#   William A. ("PowerGUI") Law <law@netscape.com>#   Blake Ross <blakeross@telocity.com>#   Gervase Markham <gerv@gerv.net>## Alternatively, the contents of this file may be used under the terms of# either the GNU General Public License Version 2 or later (the "GPL"), or# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),# in which case the provisions of the GPL or the LGPL are applicable instead# of those above. If you wish to allow use of your version of this file only# under the terms of either the GPL or the LGPL, and not to allow others to# use your version of this file under the terms of the MPL, indicate your# decision by deleting the provisions above and replace them with the notice# and other provisions required by the GPL or the LGPL. If you do not delete# the provisions above, a recipient may use your version of this file under# the terms of any one of the MPL, the GPL or the LGPL.## ***** END LICENSE BLOCK *****/*------------------------------ nsContextMenu ---------------------------------|   This JavaScript "class" is used to implement the browser's content-area    ||   context menu.                                                              ||                                                                              ||   For usage, see references to this class in navigator.xul.                  ||                                                                              ||   Currently, this code is relatively useless for any other purpose.  In the  ||   longer term, this code will be restructured to make it more reusable.      |------------------------------------------------------------------------------*/function nsContextMenu( xulMenu ) {    this.target         = null;    this.menu           = null;    this.popupURL       = null;    this.onTextInput    = false;    this.onImage        = false;    this.onLoadedImage  = false;    this.onLink         = false;    this.onMailtoLink   = false;    this.onSaveableLink = false;    this.onMetaDataItem = false;    this.onMathML       = false;    this.link           = false;    this.inFrame        = false;    this.hasBGImage     = false;    this.isTextSelected = false;    this.inDirList      = false;    this.shouldDisplay  = true;    // Initialize new menu.    this.initMenu( xulMenu );}// Prototype for nsContextMenu "class."nsContextMenu.prototype = {    // onDestroy is a no-op at this point.    onDestroy : function () {    },    // Initialize context menu.    initMenu : function ( popup ) {        // Save menu.        this.menu = popup;        // Get contextual info.        this.setTarget( document.popupNode );                this.isTextSelected = this.isTextSelection();        this.initPopupURL();        // Initialize (disable/remove) menu items.        this.initItems();    },    initItems : function () {        this.initOpenItems();        this.initNavigationItems();        this.initViewItems();        this.initMiscItems();        this.initSaveItems();        this.initClipboardItems();        this.initMetadataItems();    },    initOpenItems : function () {        // this.showItem( "context-openlink", this.onSaveableLink || ( this.inDirList && this.onLink ) );        this.showItem( "context-openlinkintab", this.onSaveableLink || ( this.inDirList && this.onLink ) );        this.showItem( "context-sep-open", this.onSaveableLink || ( this.inDirList && this.onLink ) );    },    initNavigationItems : function () {        // Back determined by canGoBack broadcaster.        this.setItemAttrFromNode( "context-back", "disabled", "canGoBack" );        // Forward determined by canGoForward broadcaster.        this.setItemAttrFromNode( "context-forward", "disabled", "canGoForward" );                this.showItem( "context-back", !( this.isTextSelected || this.onLink || this.onImage || this.onTextInput ) );        this.showItem( "context-forward", !( this.isTextSelected || this.onLink || this.onImage || this.onTextInput ) );        this.showItem( "context-reload", !( this.isTextSelected || this.onLink || this.onImage || this.onTextInput ) );                this.showItem( "context-stop", !( this.isTextSelected || this.onLink || this.onImage || this.onTextInput ) );        this.showItem( "context-sep-stop", !( this.isTextSelected || this.onLink || this.onImage || this.onTextInput ) );        // XXX: Stop is determined in navigator.js; the canStop broadcaster is broken        //this.setItemAttrFromNode( "context-stop", "disabled", "canStop" );    },    initSaveItems : function () {        this.showItem( "context-savepage", !( this.inDirList || this.isTextSelected || this.onTextInput ) && !( this.onLink && this.onImage ) );        // Save link depends on whether we're in a link.        this.showItem( "context-savelink", this.onSaveableLink );        // Save image depends on whether there is one.        this.showItem( "context-saveimage", this.onLoadedImage );                this.showItem( "context-sendimage", this.onImage );    },    initViewItems : function () {        // View source is always OK, unless in directory listing.        this.showItem( "context-viewpartialsource-selection", this.isTextSelected && !this.onTextInput );        this.showItem( "context-viewpartialsource-mathml", this.onMathML && !this.isTextSelected );        this.showItem( "context-viewsource", !( this.inDirList || this.onImage || this.isTextSelected || this.onLink || this.onTextInput ) );        this.showItem( "context-viewinfo", !( this.inDirList || this.onImage || this.isTextSelected || this.onLink || this.onTextInput ) );        this.showItem( "context-sep-properties", !( this.inDirList || this.isTextSelected || this.onTextInput ) );        // Set As Wallpaper depends on whether an image was clicked on, and only works on Windows.        var isWin = navigator.appVersion.indexOf("Windows") != -1;        this.showItem( "context-setWallpaper", isWin && this.onLoadedImage );        this.showItem( "context-sep-image", this.onImage );        if( isWin && this.onLoadedImage )            // Disable the Set As Wallpaper menu item if we're still trying to load the image          this.setItemAttr( "context-setWallpaper", "disabled", (("complete" in this.target) && !this.target.complete) ? "true" : null );        this.showItem( "context-fitimage", this.onStandaloneImage && _content.document.imageResizingEnabled );        if ( this.onStandaloneImage && _content.document.imageResizingEnabled ) {          this.setItemAttr( "context-fitimage", "disabled", _content.document.imageIsOverflowing ? null : "true");          this.setItemAttr( "context-fitimage", "checked", _content.document.imageIsResized ? "true" : null);        }        // View Image depends on whether an image was clicked on.        this.showItem( "context-viewimage", this.onImage && !this.onStandaloneImage);        // View background image depends on whether there is one.        this.showItem( "context-viewbgimage", !( this.inDirList || this.onImage || this.isTextSelected || this.onLink || this.onTextInput ) );        this.showItem( "context-sep-viewbgimage", !( this.inDirList || this.onImage || this.isTextSelected || this.onLink || this.onTextInput ) );        this.setItemAttr( "context-viewbgimage", "disabled", this.hasBGImage ? null : "true");    },    initMiscItems : function () {        // Use "Bookmark This Link" if on a link.        this.showItem( "context-bookmarkpage", !( this.isTextSelected || this.onTextInput ) );        this.showItem( "context-bookmarklink", this.onLink && !this.onMailtoLink );        this.showItem( "context-searchselect", this.isTextSelected && !this.onTextInput );        this.showItem( "frame", this.inFrame );        this.showItem( "frame-sep", this.inFrame );        var blocking = true;        if (this.popupURL)          try {            const PM = Components.classes["@mozilla.org/PopupWindowManager;1"]                       .getService(Components.interfaces.nsIPopupWindowManager);            blocking = PM.testPermission(this.popupURL) ==                       Components.interfaces.nsIPopupWindowManager.DENY_POPUP;          } catch (e) {          }        this.showItem( "popupwindow-reject", this.popupURL && !blocking);        this.showItem( "popupwindow-allow", this.popupURL && blocking);        this.showItem( "context-sep-popup", this.popupURL);    },    initClipboardItems : function () {        // Copy depends on whether there is selected text.        // Enabling this context menu item is now done through the global        // command updating system        // this.setItemAttr( "context-copy", "disabled", !this.isTextSelected() );        goUpdateGlobalEditMenuItems();        this.showItem( "context-undo", this.onTextInput );        this.showItem( "context-redo", this.onTextInput );        this.showItem( "context-sep-undo", this.onTextInput );        this.showItem( "context-cut", this.onTextInput );        this.showItem( "context-copy", this.isTextSelected || this.onTextInput);        this.showItem( "context-paste", this.onTextInput );        this.showItem( "context-delete", this.onTextInput );        this.showItem( "context-sep-paste", this.onTextInput );        this.showItem( "context-selectall", true );        this.showItem( "context-sep-selectall", this.isTextSelected && !this.onTextInput );        // In a text area there will be nothing after select all, so we don't want a sep        // Otherwise, if there's text selected then there are extra menu items        // (search for selection and view selection source), so we do want a sep        // XXX dr        // ------        // nsDocumentViewer.cpp has code to determine whether we're        // on a link or an image. we really ought to be using that...        // Copy email link depends on whether we're on an email link.        this.showItem( "context-copyemail", this.onMailtoLink );        // Copy link location depends on whether we're on a link.        this.showItem( "context-copylink", this.onLink );        this.showItem( "context-sep-copylink", this.onLink );        // Copy image location depends on whether we're on an image.        this.showItem( "context-copyimage", this.onImage );        this.showItem( "context-sep-copyimage", this.onImage );    },    initMetadataItems : function () {        // Show if user clicked on something which has metadata.        this.showItem( "context-metadata", this.onMetaDataItem );    },    // Set various context menu attributes based on the state of the world.    setTarget : function ( node ) {        const xulNS = "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul";        if ( node.namespaceURI == xulNS ) {          this.shouldDisplay = false;          return;        }        // Initialize contextual info.        this.onImage    = false;        this.onLoadedImage = false;        this.onStandaloneImage = false;        this.onMetaDataItem = false;        this.onTextInput = false;        this.imageURL   = "";        this.onLink     = false;        this.onMathML   = false;        this.inFrame    = false;        this.hasBGImage = false;        this.bgImageURL = "";        // Remember the node that was clicked.        this.target = node;

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩免费电影| 中文字幕一区视频| 国产a精品视频| 日日夜夜精品免费视频| 欧美经典三级视频一区二区三区| 欧美欧美午夜aⅴ在线观看| 国产91高潮流白浆在线麻豆| 日韩国产欧美一区二区三区| 亚洲免费电影在线| 国产日韩综合av| 欧美一区二区高清| 欧美性猛交xxxxxxxx| 成a人片亚洲日本久久| 免费欧美高清视频| 午夜视频在线观看一区二区三区| 中文字幕一区二区在线播放| 精品成人在线观看| 日韩午夜电影在线观看| 欧美视频在线播放| 91福利资源站| 色综合天天综合给合国产| 国产精品亚洲视频| 国产精品影视在线观看| 精品一区二区综合| 麻豆精品视频在线| 久久精品噜噜噜成人av农村| 亚洲成人动漫在线观看| 一区二区视频免费在线观看| 国产精品第一页第二页第三页| 久久久91精品国产一区二区三区| 欧美tickling挠脚心丨vk| 9191成人精品久久| 在线播放日韩导航| 欧美精品色综合| 欧美日韩激情一区二区| 欧美日韩一级大片网址| 欧美综合在线视频| 色狠狠综合天天综合综合| 91猫先生在线| 色婷婷av一区二区三区之一色屋| 色综合久久中文字幕综合网| 91在线观看美女| 欧美亚洲动漫另类| 51久久夜色精品国产麻豆| 91精品国产综合久久久久久久 | 欧美专区日韩专区| 色偷偷久久一区二区三区| 91热门视频在线观看| 色哟哟一区二区在线观看| 在线视频综合导航| 欧美日韩在线精品一区二区三区激情 | 亚洲免费视频中文字幕| 亚洲欧美国产毛片在线| 成人免费在线播放视频| 依依成人综合视频| 亚洲国产你懂的| 日韩电影免费在线| 国产精选一区二区三区| www.色精品| 欧美日韩情趣电影| 精品久久久久久久久久久院品网| 国产亚洲1区2区3区| 综合久久久久综合| 亚洲综合区在线| 欧美a级一区二区| 国产成a人亚洲精品| 色噜噜狠狠色综合欧洲selulu| 欧美日韩国产区一| 久久色在线观看| 亚洲三级小视频| 热久久免费视频| 成人午夜在线播放| 欧美日韩国产区一| 国产亚洲一本大道中文在线| 亚洲激情六月丁香| 美女看a上一区| av一区二区三区四区| 欧美理论电影在线| 中文字幕免费一区| 婷婷久久综合九色国产成人| 国产精品综合一区二区三区| 91成人看片片| 国产日韩一级二级三级| 亚洲成人av一区| 国产成人综合在线观看| 欧美日韩免费一区二区三区| 久久久美女艺术照精彩视频福利播放| 国产精品国产三级国产三级人妇| 亚洲一区二区3| 国产成人亚洲综合a∨猫咪| 在线观看欧美精品| 中文字幕av在线一区二区三区| 亚洲电影你懂得| kk眼镜猥琐国模调教系列一区二区| 在线播放国产精品二区一二区四区 | 日韩片之四级片| 亚洲视频一二三区| 国产精品自在欧美一区| 欧美区视频在线观看| 亚洲欧美日韩成人高清在线一区| 看电视剧不卡顿的网站| 欧美日韩一二区| 亚洲青青青在线视频| 韩国女主播成人在线| 欧美美女一区二区三区| 中文字幕亚洲电影| 国产一区二区美女| 欧美人xxxx| 亚洲国产人成综合网站| 91尤物视频在线观看| 精品日韩一区二区| 蜜臀久久久久久久| 欧美在线一二三| 中文字幕在线不卡国产视频| 国产一区在线看| 欧美大片在线观看一区二区| 五月天精品一区二区三区| 色婷婷综合久久久久中文| 国产女主播视频一区二区| 极品瑜伽女神91| 日韩一级片网址| 日本特黄久久久高潮| 7777精品伊人久久久大香线蕉完整版| 亚洲精品综合在线| 91免费看视频| 亚洲精品欧美激情| 色婷婷av一区二区三区之一色屋| 国产精品麻豆一区二区| 国产不卡在线视频| 国产精品女同一区二区三区| 国产精品一区二区在线看| 2020国产精品自拍| 国产一区二区三区美女| 精品国产自在久精品国产| 激情综合色播激情啊| 精品国产sm最大网站| 捆绑调教一区二区三区| 精品久久久久久久一区二区蜜臀| 久久精品久久99精品久久| 欧美v亚洲v综合ⅴ国产v| 捆绑调教一区二区三区| www国产成人免费观看视频 深夜成人网| 久久99精品国产麻豆婷婷洗澡| 亚洲精品一线二线三线| 国产一区二区精品在线观看| 久久久久久久久久美女| 国产99久久久国产精品潘金| 国产精品免费网站在线观看| 99国产精品久| 亚洲成人黄色小说| 日韩女优av电影| 国产黄人亚洲片| 亚洲少妇中出一区| 欧美色窝79yyyycom| 奇米在线7777在线精品 | 欧美一卡二卡三卡| 精品一区二区免费在线观看| 国产三级一区二区| 91视频国产资源| 亚洲国产精品天堂| 日韩美女视频一区二区在线观看| 国产一区二区三区香蕉| 亚洲视频 欧洲视频| 3atv一区二区三区| 韩国三级在线一区| 亚洲欧美偷拍卡通变态| 欧美人与z0zoxxxx视频| 加勒比av一区二区| 亚洲欧美偷拍卡通变态| 日韩一级成人av| 成人高清在线视频| 日日夜夜免费精品| 中文字幕av一区 二区| 欧美午夜寂寞影院| 国产激情一区二区三区| 亚洲精品成人a在线观看| 欧美一级在线免费| 不卡的电影网站| 日产欧产美韩系列久久99| 国产精品国产三级国产aⅴ中文| 精品视频在线视频| 国产不卡在线视频| 日韩国产在线观看一区| 国产精品久久久久久亚洲毛片| 欧美日韩高清一区| 成人不卡免费av| 日本aⅴ免费视频一区二区三区| 国产日产欧美一区二区三区| 欧美日韩一区二区三区在线| 大桥未久av一区二区三区中文| 婷婷夜色潮精品综合在线| 中文字幕乱码日本亚洲一区二区| 欧美男人的天堂一二区| www.亚洲在线| 国产毛片一区二区| 午夜电影网一区| ...xxx性欧美| 国产色婷婷亚洲99精品小说| 91精品国产色综合久久不卡蜜臀 | 欧美军同video69gay|