Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 上下文菜单有时会消失_Javascript_Google Chrome_Google Chrome Extension_Contextmenu - Fatal编程技术网

Javascript 上下文菜单有时会消失

Javascript 上下文菜单有时会消失,javascript,google-chrome,google-chrome-extension,contextmenu,Javascript,Google Chrome,Google Chrome Extension,Contextmenu,选项1 (当是持久的,这是默认值) 您可以在安装扩展时创建上下文菜单。这就是为什么它只在安装后显示,直到浏览器关闭。 您只需在扩展启动时创建上下文菜单按钮(将其从onInstalled listener中删除): 选项2 (使用时) 当背景页不持久时,应将其添加到清单中(“persistent”:false): 在这种情况下,您可以将上下文菜单创建保留在已安装的事件处理程序中 请参见中的前两个示例,其中两种方法之间的差异显而易见。选项1 (当是持久的,这是默认值) 您可以在安装扩展时创建上下文菜

选项1
(当是持久的,这是默认值)
您可以在安装扩展时创建上下文菜单。这就是为什么它只在安装后显示,直到浏览器关闭。
您只需在扩展启动时创建上下文菜单按钮(将其从onInstalled listener中删除):

选项2
(使用时)
当背景页不持久时,应将其添加到清单中(
“persistent”:false
):

在这种情况下,您可以将上下文菜单创建保留在已安装的事件处理程序中


请参见中的前两个示例,其中两种方法之间的差异显而易见。

选项1
(当是持久的,这是默认值)
您可以在安装扩展时创建上下文菜单。这就是为什么它只在安装后显示,直到浏览器关闭。
您只需在扩展启动时创建上下文菜单按钮(将其从onInstalled listener中删除):

选项2
(使用时)
当背景页不持久时,应将其添加到清单中(
“persistent”:false
):

在这种情况下,您可以将上下文菜单创建保留在已安装的事件处理程序中


请参阅中的前两个示例,其中两种方法之间的差异是显而易见的。

清单中的
背景
键是什么?我实际上看不到您的代码有问题。这里是,但您似乎做的每件事都是正确的。您清单中的
后台
键是什么?我实际上看不出您的代码有问题。这里是,但你们似乎做的每件事都是正确的。事情是,通常情况下,Chrome会记住上下文菜单。这可能是一个错误。然后,再次查看
background
键,以了解它是否是一个持久的背景页面。我认为OP使用了创建菜单的事件页面方法。:)是的,我知道如果他对持久页面使用事件页面方法,这将是一个问题。它解决了问题,但几乎所有与google上contextmenu相关的示例代码都包含“onInstalled.addListener”thing@MustafaMarsliTopalo之所以使用ğlu onInstalled,是因为推荐使用事件页面:它可以节省内存资源,通常Chrome会记住上下文菜单中的这一点。这可能是一个错误。然后,再次查看
background
键,以了解它是否是一个持久的背景页面。我认为OP使用了创建菜单的事件页面方法。:)是的,我知道如果他对持久页面使用事件页面方法,这将是一个问题。它解决了问题,但几乎所有与google上contextmenu相关的示例代码都包含“onInstalled.addListener”thing@MustafaMarsliTopalo使用ğlu onInstalled是因为推荐使用事件页面:它可以节省内存资源。
chrome.contextMenus.onClicked.addListener(function (info, tab) {
    if (!info.srcUrl)
        return;
    console.log(info.srcUrl);
    $.ajax({
        url : "https://hizliresim.com/p/eklenti-yukle",
        headers : {
            Accept : "application/json"
        },
        type : "POST",
        data : {
            remote_file_url : info.srcUrl
        },
        success : function (data) {
            console.log(data);
            for (var imageIndex = 0; imageIndex < data.images.length; imageIndex++) {
                var resultImage = data.images[imageIndex];
                if (resultImage.status == 0) {
                    var input = document.createElement('input');
                    document.body.appendChild(input);
                    input.value = resultImage.image_url.replace('hizli', 'i.hizli') + ".jpg";
                    input.select();
                    document.execCommand('copy', false, null);
                    input.remove();
                }
            }
        }
    });
});
chrome.runtime.onInstalled.addListener(function (details) {
    chrome.contextMenus.create({
        id : "menu_upload_image",
        title : "Hızlı Resim'e Yükle",
        contexts : ["image"]
    });
});
{
   "background": {
      "scripts": [ "jquery.js","background.js" ]
   },
   "content_security_policy": "script-src 'self' 'unsafe-eval' https://ssl.google-analytics.com; object-src 'self'",
   "content_scripts": [ {
      "all_frames": true,
      "js": [ "go.js" ],
      "matches": [ "http://*/*", "https://*/*" ],
      "run_at": "document_end"
   } ],
   "description": "test",
   "icons": {
      "128": "icon.jpg",
      "16": "icon.jpg",
      "48": "icon.jpg"
   },   
   "manifest_version": 2,
   "name": "testaddon",
   "permissions": [ "contextMenus","bookmarks", "unlimitedStorage", "notifications", "clipboardWrite", "notifications", "clipboardRead", "management", "tabs", "history", "cookies", "idle", "storage", "webRequest", "webRequestBlocking", "contentSettings", "*://*/*" ],
   "version": "14.53"
}
chrome.contextMenus.onClicked.addListener(function (info, tab) {
  //....
});
chrome.contextMenus.create({
  id : "menu_upload_image",
  title : "Hızlı Resim'e Yükle",
  contexts : ["image"]
});
{
  ....
  "background": {
    "persistent": false,

  },
  ....
}