如何创建具有多个功能的书签

时间:2018-09-05 10:09:09

标签: javascript bookmarklet

我是创建JavaScript书签的新手,但是可以解决我的问题,但是只能停留在最后一点。

基本上,我想创建一个小书签,该小书签将替换URL中2个位置的文本-子域和URI。

第一部分我已经做到了:

end

接下来,我需要从页面中获取一些元数据(cab-id)。我设法做到了将其打印到控制台:

(function() {
  window.location = window.location
  .toString()
  .replace(/^https:\/\/www\./, "https://edit.");
})();

下一步,我要做的是用以下命令替换网址的结尾(“ www.xxxxxx.org.uk/*中的所有内容”:

function getCabID() {
var metas = document.getElementsByTagName("meta");

for (var i = 0; i < metas.length; i++) {
if (metas[i].getAttribute("name") == "cab-id") {
  return metas[i].getAttribute("content");
  }
}

return "";
}

console.log(getCabID());

我不知道该怎么做,我真的很努力。我想出了以下方法,但是它不起作用:

/EPiServer/CMS/Home#context=epi.cms.contentdata:///

我还需要在所有///之后直接弹出cab-id。

很抱歉,这个问题很长,但是我需要做的是:

  1. 使第三个真正起作用!
  2. 组合三个功能

任何提示将不胜感激:D

1 个答案:

答案 0 :(得分:0)

据我所知,您的以下书签可能允许将第二步和第三步结合起来:

javascript:(function() {
    window.location.href = "https://edit.xxxxxx.org.uk/EPiServer/CMS/Home#context=epi.cms.contentdata:///" + getCabID();

    function getCabID() {
        var metas = document.getElementsByTagName("meta");

        for (var i = 0; i < metas.length; i++) {
        if (metas[i].getAttribute("name") == "cab-id") {
          return metas[i].getAttribute("content");
          }
        }

        return "";
    }
})();