js 代码片段:右开 tab 并同步当前位置

给另一个小伙伴的思路 3, 可以做到这样某段和某段做对比的功能 (用分屏的方法) 吗? - 链滴 (ld246.com)

功能

右开一个 tab,并跳转到鼠标所在块。

演示

操作如下

方法 1:

(这是一次对 sy-run-js 插件的尝试,顺便推荐下这个插件。)

安装 sy-run-js 插件后,找个专门的文档存该代码,使用块菜单运行代码顶栏就有个按钮可执行了该片段了。 【注意:不是放在外观的代码片段中】

async function main() {
    let actvie_tab = document.querySelector("div.layout__wnd--active[data-type='wnd'] li.item.item--focus[data-type='tab-header']");
    let actvie_tab_id = actvie_tab.getAttribute("data-id");
    let active_protyle = document.querySelector("div.layout__wnd--active[data-type='wnd'] .protyle[data-id='" + actvie_tab_id +"']");
    let focus_block_id = active_protyle.querySelector(".block-focus").getAttribute("data-node-id");
    let root_id = active_protyle.querySelector(".protyle-title.protyle-wysiwyg--attr").getAttribute("data-node-id")
    let tempRes = await runJs.siyuan.fetchSyncPost("/api/filetree/getFullHPathByID",{id:root_id});
    let aria_label = tempRes["data"];
    actvie_tab.setAttribute("aria-label", aria_label);
    let repeatTabs = document.querySelectorAll(`li[data-type='tab-header'][aria-label='${aria_label}']:not([data-id='${actvie_tab_id}'])`)
    if(repeatTabs.length > 0){
        repeatTabs[0].click();
        window.openFileByURL(`siyuan://blocks/${focus_block_id}`)
    } else {
        let anotherTab = await runJs.siyuan.openTab({
            app:runJs.plugin.app,
            doc: {
                id: focus_block_id, 
                action: ["cb-get-context","cb-get-hl","cb-get-focus"],
                zoomIn: false
            },
            position:"right",
            keepCursor:true,
            removeCurrentTab:false
        });
        // console.log(anotherTab)
    }
}
main();

plugin.saveAction(thisBlock.id, "右开tab");

方法 2:

另外,也可用 quicker,我个人是更喜欢这种方式的。也贴个动作给大家参考。 右开 tab - by 刘烟火 - 动作信息 - Quicker

前提是需先安装另一个插件 siyuan-plugin-jsrunner

  • 思源笔记

    思源笔记是一款隐私优先的个人知识管理系统,支持完全离线使用,同时也支持端到端加密同步。

    融合块、大纲和双向链接,重构你的思维。

    23000 引用 • 92498 回帖 • 2 关注
  • Quicker

    Quicker 您的指尖工具箱!操作更少,收获更多!

    34 引用 • 148 回帖
  • 插件
    100 引用 • 591 回帖 • 3 关注
1 操作
kobi 在 2024-07-19 22:30:03 更新了该帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
kobi
❤️❤️快速整理笔记,最重要的功能应当是什么呢❗❓