您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
If the result is not complete, please increase the Delay time。
// ==UserScript== // @name Automatic copying the photo URL to clipboard in PhotoBucket album // @name:zh-TW 自動複製PhotoBucket圖片URL至剪貼板 // @namespace http://WWW.NTRSN.CN/ // @version 0.2 // @description If the result is not complete, please increase the Delay time。 // @description:zh-tw 若是結果不完整請提高延時 // @note I'm sorry.I took a lot of times.But The function of save as TXT just not work :( Can you tell me what's the wrong??? // @author WWW.NTRSN.CN // @match http://s50.photobucket.com/*/library/* // @require https://cdnjs.cloudflare.com/ajax/libs/FileSaver.js/1.3.3/FileSaver.min.js // @supportURL [email protected] // @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_donations&[email protected]&item_name=Greasy+Fork+donation // @grant GM_addStyle // @grant GM_setValue // @grant GM_getValue // @grant GM_listValues // @grant GM_deleteValue // @grant GM_registerMenuCommand // @grant GM_setClipboard // @compatible chrome // @compatible firefox // @compatible opera 未測試not test // @compatible safari 未測試not test // ==/UserScript== (function() { 'use strict'; // Your code here... /*jshint multistr: true */ var tipStyle = "\ #dashboard {position:fixed;top:20px;right:20px;width:440px;height:auto;background-color:#fff;border:1px solid #000;padding:0px 30px 0px 30px;z-index:999}\ #dashboard h1{height:52px;line-height:52px;text-align:center;}\ #dashboard div{font-size:14px;}\ #dashboard fieldset{border:1px solid #ccc;padding:8px 12px;line-height:32px;}\ #dashboard fieldset legend{font-weight:700}\ #dashboard label{width:50px;text-align:left;display:inline;}\ #dashboard input{width:80px;margin-top:10px;}\ "; GM_addStyle(tipStyle); function Setting() { var d = document; var div = d.createElement('div'); div.id = 'dashboard'; div.innerHTML = "\ <h1>設定Setting</h1>\ <ol id='dol'>\ </ol>\ <fieldset>\ <center><legend>設定複製類型Setting the copy type</legend></center>\ <label for='Direct'>Direct</label> <input id='Direct' type='checkbox' value='Direct'>\ <label for='HTML '>HTML</label> <input id='HTML' type='checkbox' value='HTML'>\ <label for='IMG'>IMG codes</label> <input id='IMG' type='checkbox' value='IMG'><br />\ <center><label>類型是:Type is:</label> <input id='Type' type='text'></center>\ </fieldset>\ <fieldset>\ <center><legend>設定延時時間Setting the Delay time</legend></center>\    <label for='RunningDelay'>加載腳本Load script</label> <input id='RunningDelay' type='text'> <label for='RunningDelay'>毫秒 millisecond</label><br />\    <label for='organizerHandleDelay'>點擊圖片First Image</label> <input id='organizerHandleDelay' type='text'> <label for='organizerHandleDelay'>毫秒 millisecond</label><br />\    <label for='selectallButtonDelay'>點擊全選Full Select</label> <input id='selectallButtonDelay' type='text'> <label for='selectallButtonDelay'>毫秒 millisecond</label><br />\    <label for='iconlinkDelay'>點擊連結Link Button</label> <input id='iconlinkDelay' type='text'> <label for='iconlinkDelay'>毫秒 millisecond</label><br />\    <label for='CopyDelay'>複製連結Copy Links</label> <input id='CopyDelay' type='text'> <label for='CopyDelay'>毫秒 millisecond</label><br />\ <center><input id='SetDelay' type='button' value='確定OK'></center>\ </fieldset>\ <input id='clos' type='button' value='關閉Close' onclick=\"document.body.removeChild(document.getElementById('dashboard'))\">  <label for='TXT'>是否下載TXT檔案Whether save as TXT</label><input id='TXT' type='checkbox'>\ "; d.body.appendChild(div); if(GM_getValue('TYPE')!==undefined) { document.getElementById('Type').value=GM_getValue('TYPE'); document.getElementById(GM_getValue('TYPE')).checked=true; } document.getElementById('RunningDelay').value=GM_getValue('RunningDelay'); document.getElementById('organizerHandleDelay').value=GM_getValue('organizerHandleDelay'); document.getElementById('selectallButtonDelay').value=GM_getValue('selectallButtonDelay'); document.getElementById('iconlinkDelay').value=GM_getValue('iconlinkDelay'); document.getElementById('CopyDelay').value=GM_getValue('CopyDelay'); if(GM_getValue('TXT')==true)//**************It's not work******************* { document.getElementById('TXT').checked='true'; } document.getElementById('SetDelay').addEventListener('click',function(){ var RunningDelay=document.getElementById('RunningDelay').value; var organizerHandleDelay=document.getElementById('organizerHandleDelay').value; var selectallButtonDelay=document.getElementById('selectallButtonDelay').value; var iconlinkDelay=document.getElementById('iconlinkDelay').value; var CopyDelay=document.getElementById('CopyDelay').value; if(!isNaN(RunningDelay)&&RunningDelay!==''&&!isNaN(organizerHandleDelay)&&organizerHandleDelay!==''&&!isNaN(selectallButtonDelay)&&selectallButtonDelay!==''&&!isNaN(iconlinkDelay)&&iconlinkDelay!==''&&!isNaN(CopyDelay)&&CopyDelay!=='') { GM_setValue('RunningDelay',RunningDelay); GM_setValue('organizerHandleDelay',organizerHandleDelay); GM_setValue('selectallButtonDelay',selectallButtonDelay); GM_setValue('iconlinkDelay',iconlinkDelay); GM_setValue('CopyDelay',CopyDelay); alert('設定成功哦 Set up success!'); } else { alert('您沒有設定延遲時間哦 You are not yet setting delay time!'); } },false); document.getElementById('RunningDelay').addEventListener('click',function(){ var RunningDelay=document.getElementById('RunningDelay').value; if(RunningDelay=='undefined') { document.getElementById('RunningDelay').value=''; } },false); document.getElementById('organizerHandleDelay').addEventListener('click',function(){ var organizerHandleDelay=document.getElementById('organizerHandleDelay').value; if(organizerHandleDelay=='undefined') { document.getElementById('organizerHandleDelay').value=''; } },false); document.getElementById('selectallButtonDelay').addEventListener('click',function(){ var selectallButtonDelay=document.getElementById('selectallButtonDelay').value; if(selectallButtonDelay=='undefined') { document.getElementById('selectallButtonDelay').value=''; } },false); document.getElementById('iconlinkDelay').addEventListener('click',function(){ var iconlinkDelay=document.getElementById('iconlinkDelay').value; if(iconlinkDelay=='undefined') { document.getElementById('iconlinkDelay').value=''; } },false); document.getElementById('TXT').addEventListener('click',function(){//**************It's not work******************* var TXT= document.getElementById('TXT'); if(TXT.checked!=='true') { GM_setValue('TXT',true); } else { GM_setValue('TXT',false); } },false); document.getElementById('CopyDelay').addEventListener('click',function(){ var CopyDelay=document.getElementById('CopyDelay').value; if(CopyDelay=='undefined') { document.getElementById('CopyDelay').value=''; } },false); document.getElementById('Direct').addEventListener('click',function() { Event('Direct'); },true); document.getElementById('HTML').addEventListener('click',function(){ Event('HTML'); },false); document.getElementById('IMG').addEventListener('click',function(){ Event('IMG'); },false); function Event(id) { if(GM_getValue('TYPE')==undefined ) { GM_setValue('TYPE',id); } else if(GM_getValue('TYPE')!==undefined && GM_getValue('TYPE')!==id) { document.getElementById(GM_getValue('TYPE')).checked=false; GM_setValue('TYPE',id); /* GM_setValue('Direct','Direct');GM_setValue('HTML','HTML');GM_setValue('IMG','IMG');**************It's an old approach******************* var list=GM_listValues(); GM_deleteValue(id); for(var i in list) { if(list[i]==GM_getValue('TYPE')||list[i]==GM_getValue('Delay')) { continue; } else { document.getElementById(GM_getValue(list[i])).checked=false; } }*/ } else { document.getElementById(id).checked=false; GM_setValue('TYPE','undefined'); } document.getElementById('Type').value=GM_getValue('TYPE'); } /* Array.prototype.removeByValue = function(val) {**************It's an old approach and not work******************* for(var i=0; i<this.length; i++) { if(this[i] == val) { this.splice(i, 1); break; } } };var type=new Array('Direct','HTML','IMG');type.RemoveByValue(id);*/ } function GetType() { var Type; if(typeof(GM_getValue('TYPE'))!==undefined) { Type=GM_getValue('TYPE'); } else{ alert('您沒有設定複製類型哦You are not yet set the copy type!'); } return Type; } function AUTOCOPY(organizerHandle,selectallButton,iconlink) { setTimeout(function(){ //for(var i in organizerHandle) //{ organizerHandle[0].click(); //} },GM_getValue('organizerHandleDelay')); setTimeout(function(){ selectallButton.click(); },GM_getValue('selectallButtonDelay')); setTimeout(function(){ iconlink.click(); },GM_getValue('iconlinkDelay')); setTimeout(function(){ var Type =GetType(); var lable='bulk_link_modal_ccinput_'; var Values; switch (Type) { case 'Direct': Values=document.getElementById(lable+'0').value; break; case 'HTML': Values=document.getElementById(lable+'1').value; break; case 'IMG': Values=document.getElementById(lable+'2').value; break; } GM_setClipboard(Values); if(typeof(Values)!=='undefined'|| Values !== null || Values !== ""){ alert('複製成功。值為Copy successful!The data is:\n\n'+Values); if(GM_getValue('TXT')==true)//**************It's not work:(******************* { SaveToTXT(Values); } } else { alert('複製失敗哦Copy failed!\n'+Values); } document.getElementById('bulkLinkModal').style.visibility='hidden'; },GM_getValue('CopyDelay')); } function Click() { window.onload=function(){ var organizerHandle=document.getElementsByClassName('organizerHandle'); var selectallButton=document.getElementById('selectallButton'); var iconlink=document.getElementsByClassName('icon-link')[0]; do{ AUTOCOPY(organizerHandle,selectallButton,iconlink); } while(typeof(typeof(organizerHandle)=='undefined'||selectallButton)=='undefined'||typeof(iconlink)=='undefined'); }; } function SaveToTXT(values) { var title=document.getElementsByClassName('rw editable-field')[1]; if(title!==undefined){ title=title.innerHTML.replace(/^\s*|\s*$/g, ""); } else{ title=document.title; } var blob = new Blob([values], {type: "text/plain;charset=utf-8"}); saveAs(blob,title+".txt"); document.querySelector("#bulkLinkModal").style.display='none'; document.querySelector(".modal-backdrop").style.display='none'; } GM_registerMenuCommand('設定複製類型 Setting the copy type',Setting,"s"); setTimeout(function(){ Click(); },GM_getValue('RunningDelay')); })();