在网址中获取文件名并在新网址(CMS)中打开

时间:2018-04-16 08:44:39

标签: javascript google-chrome google-chrome-extension content-management-system contextmenu

我的努力使我的同事们的工作更有效率我试图制作一个扩展程序,使编辑人员可以直接从前端打开图像,这是CMS无法完成的任务。

想法:当编辑看到他们需要编辑的图像时,他们右键单击并选择"在CMS中打开"。扩展程序选择文件名(包括文件扩展名)并在我们的CMS中打开一个新网址。

实施例: 前端图片网址为http://www.justsomeurl.com/something/ product.jpg

可以使用搜索访问CSM中的图像,以便https://cms.justsomeurl.com/admin/appsomething/search product.jpg

首先,我使用以下代码调整了Google图片搜索的扩展程序:

function getClickHandler() {
  return function(info, tab) {

    var url = 'https://cms.justsomeurl.com/admin/appsomething/search:' + info.srcUrl;

    chrome.windows.create({ url: url, width: 1024, height: 870 });
  };
}

/**
 * Context menu.
 */
chrome.contextMenus.create({
  "title" : "Find image in CMS",
  "type" : "normal",
  "contexts" : ["image"],
  "onclick" : getClickHandler()
});

这当然会将完整的网址发送到CMS搜索中,因此它无法正常工作。我试图将它与另一个脚本found

结合起来
var url = window.location.pathname;
var filename = url.substring(url.lastIndexOf('/')+1);

但是因为我基本上不知道我做什么并不起作用。任何帮助是极大的赞赏!谢谢!

编辑: 找到了一个有效的解决方案:

function getClickHandler1() {
  return function(info, tab) {
    var url = 'https://cms.justsomeurl.com/admin/appsomething/search:' 
    + info.srcUrl.substring(info.srcUrl.lastIndexOf('/')+1);

    chrome.windows.create({ url: url, width: 1024, height: 870 });
  };
}

0 个答案:

没有答案