Greasy Fork

Greasy Fork is available in English.

页内书签

记录页面的当前位置,可以轻松从其他位置返回

当前为 2014-06-20 提交的版本,查看 最新版本

// ==UserScript==
// @name 页内书签
// @namespace www.jjwt.com/
// @description 记录页面的当前位置,可以轻松从其他位置返回
// @include *
// @version 2.1
// @grant none
// ==/UserScript==
//创建样式表
function jjwtAddBookMark() {
    if (arguments.length == 2) {
        var bookMarkName = arguments[0];
        var currentYPostion = arguments[1];
    } else {
        var bookMarkName = prompt('请输入书签名', '');
        var currentYPostion = window.pageYOffset;
    }
    if (bookMarkName != null && bookMarkName != '') {
        var ul = document.getElementById('jjwtBookMarkUl');
        var txt = document.createElement('input');
        txt.type = 'text';
        txt.value = bookMarkName;
        var btn = document.createElement('input');
        btn.type = 'button';
        btn.value = 'Go';
        btn.onclick = function(event) {
            window.scrollTo(0, currentYPostion);
        };
        var li = document.createElement('li');
        li.appendChild(txt);
        li.appendChild(btn);
        ul.appendChild(li);
    }
}
function jjwtInitBookMark() {
    jjwtAddStyle();
    if (!document.getElementById('jjwtBookMark')) {
        var bookmark_div = document.createElement('div');
        bookmark_div.id = 'jjwtBookMark';
        bookmark_div.onmouseover = mOver;
        bookmark_div.onmouseout = mOout;
        var div_nav = document.createElement('div');
        div_nav.id = 'jjwtBookMarkNav';
        var div_main = document.createElement('div');
        div_main.id = 'jjwtBookMarkMain';
        //增加 "页内标签"
        var h3 = document.createElement('h3');
        h3.className = 'jjwtBookMarkH3';
        h3.innerHTML = '页内标签';
        div_main.appendChild(h3);
        var h3a = document.createElement('h3');
        h3a.className = 'jjwtBookMarkH3';
        h3a.innerHTML = '页内标签';
        div_nav.appendChild(h3a);
        // 增加 "添加书签"按钮
        var btn = document.createElement('input');
        btn.type = 'button';
        btn.value = '增加书签';
        btn.onclick = jjwtAddBookMark;
        div_main.appendChild(btn);
        var ul = document.createElement('ul');
        ul.id = 'jjwtBookMarkUl';
        div_main.appendChild(ul);
        bookmark_div.appendChild(div_nav);
        bookmark_div.appendChild(div_main);
        //增加默认标签
        document.body.appendChild(bookmark_div);
        jjwtAddBookMark('页面顶部', 0);
    };
}
function jjwtAddStyle() {
    if (!document.getElementById('jjwtBookMarkStyle') && window.self == window.top) {
        //先检查要建立的样式表ID是否存在,防止重复添加
        var style = document.createElement('style');
        style.type = 'text/css';
        style.id = 'jjwtBookMarkStyle';
        style.innerHTML = '#jjwtBookMark{' + 'display:block;' + 'position:fixed;' + 'right:0px;' + 'z-index:99999;' + 'width:20px;' + 'overflow:hidden;' + 'top:220px;' + 'visibility:visible;' + 'font-size:12px;' + 'background-color:#F1FEDD;' + 'text-align:left !important;' + 'word-break:break-all;' + '} ' + '#jjwtBookMarkNav{' + 'width: 10px;' + 'float: left;' + 'word-break:break-all;' + '} ' + '#jjwtBookMarkMain{' + 'float: left;' + 'position: absolute;' + 'left: 20px;' + 'word-break:break-all;' + '} ' + '.jjwtBookMarkH3{' + 'width: 50%;' + 'cursor: pointer;' + 'outline: 0px none;' + 'text-index: 0.5em;' + 'border-top: 1px solid #FBFBFB;' + 'border-bottom: 1px solid #F2F1F1;' + 'background-color: #F6F6F6;' + 'float: left;' + 'padding: 0px;' + 'margin: 0px;' + 'word-break:break-all;' + '} ' + '#jjwtBookMarkUl{' + 'width: 90%;' + 'float: left;' + 'padding: 8px 0px;' + 'margin-left: 2px;' + 'overflow: hidden;' + 'list-style: none outside none;' + 'font-size:12px;' + 'text-align:left !important;' + '} ' + '.jjwtBookMarkLi{' + 'width: 47%;' + 'height: 26px;' + 'float: left;' + 'margin: 2px;' + 'list-style: none outside none;' + 'padding: 0px;' + '} ';
        document.body.appendChild(style);
    };
};
function mOver() {
    document.getElementById('jjwtBookMark').style.width = '220px';
    document.getElementById('jjwtBookMark').style.height = '500px';
}
function mOout() {
    document.getElementById('jjwtBookMark').style.width = '20px';
    document.getElementById('jjwtBookMark').style.height = '80px';
}
jjwtInitBookMark();