BQ; <blockquote><cite></cite></blockquote>
BR; <br />
CODE; <code></code>
HR; <hr />
MORE; <!--more-->
I; 愛妳啾^3^
IMG; <img src="" />
P; <p></p>
REF; <ref></ref>
SEP; <div class="sep">我是分隔線</div>
SPF;
SPAN; <span></span>
標籤
.net
(
17
)
工作
(
29
)
面試
(
2
)
筆記
(
2
)
筆記倉庫
(
1
)
嘸蝦米
(
2
)
繪圖
(
1
)
Add-on
(
4
)
Android
(
39
)
AngularJS
(
1
)
ASP.NET
(
14
)
AutoHotKey
(
20
)
AutoIt
(
3
)
batch
(
24
)
Blogger Hack
(
3
)
Bookmarklet
(
18
)
C#
(
16
)
Chrome
(
1
)
cmd
(
22
)
CSS
(
6
)
CSS3
(
6
)
D855
(
1
)
DOM
(
17
)
DragOnIt
(
5
)
EmEditor
(
1
)
English
(
1
)
ffmpeg
(
1
)
Firefox
(
25
)
flo
(
2
)
GIMP
(
1
)
gist
(
144
)
Graphviz
(
1
)
hardware
(
1
)
HDD
(
1
)
HTML5
(
4
)
i18n
(
1
)
IIS
(
4
)
ImageMagick
(
5
)
Java
(
1
)
JavaScript
(
92
)
jhead
(
1
)
jQuery
(
6
)
JSBin
(
19
)
jsFiddle
(
4
)
JSON
(
1
)
JustDoubleClick
(
1
)
Kindle
(
1
)
MSSQL
(
26
)
MySQL
(
2
)
Network
(
1
)
node.js
(
12
)
php
(
1
)
PowerShell
(
6
)
ramdisk
(
1
)
Reg
(
3
)
RegExp
(
3
)
rpi3
(
3
)
SJ2000
(
1
)
SQLite
(
3
)
SSD
(
1
)
Stylish
(
1
)
SublimeText
(
2
)
tips
(
6
)
userChrome.js
(
3
)
userscript
(
40
)
VB.net
(
9
)
VBScript
(
2
)
VisualStudio
(
2
)
Vue.js
(
3
)
Win
(
5
)
Win2008
(
1
)
Win7
(
29
)
WinAPI
(
1
)
Winform
(
1
)
WinXP
(
3
)
XML
(
1
)
FDZ Direct External Link
標籤:
userscript
// ==UserScript==
// @name FDZ Direct External Link
// @description FDZ Direct External Link
// @run-at document-end
// @include http://forum.fdzone.org/viewthread.php?tid=*
// @include http://forum.*.fdzone.org/viewthread.php?tid=*
// ==/UserScript==
var links=document.querySelectorAll("a[href*='j.php?u']");
for(var i=0;i<links.length;i++)
links[i].href=decodeURIComponent(links[i].href.replace(/.*j.php\?u=/,''));
快速複製PasteCopy.NET全部清單
標籤:
EmEditor
快速複製PasteCopy.NET全部清單
加速整理Wretch相簿連結 XD
EmEditor Help: Macro Reference
加速整理Wretch相簿連結 XD
editor.OpenFile("D:\\軟體\\PasteCopy\\Clipboard.txt",eeEncodingUTF8,eeOpenAllowNewWindow);
document.selection.Replace("^(Nt,)","",eeFindNext | eeReplaceAll | eeFindReplaceRegExp);
document.selection.Replace("R\\+,新類別\\n","",eeFindNext | eeReplaceAll | eeFindReplaceRegExp);
document.selection.Replace("(http://.*)$\\n","<a target=\"blank\" href=\"\\1\">\\1</a><br />\\n",eeFindNext | eeReplaceAll | eeFindReplaceRegExp);
document.selection.SelectAll();
document.selection.Copy(eeCopyUnicode);
document.close();
- 開啟ClipBoard.txt
- RegExp取代
^(Nt,)
- RegExp取代
R\+,新類別\n
- 把網址替換成超連結>
- 全選
- 複製
- 關閉檔案
EmEditor Help: Macro Reference
查詢硬碟剩餘空間(using WinAPI)
using System.Runtime.InteropServices;
[DllImport("kernel32.dll", SetLastError = true, CharSet = CharSet.Auto)]
[return: MarshalAs(UnmanagedType.Bool)]
static extern bool GetDiskFreeSpaceEx(string lpDirectoryName,
out ulong lpFreeBytesAvailable,
out ulong lpTotalNumberOfBytes,
out ulong lpTotalNumberOfFreeBytes);
string drive = "D:\\"; // 要查詢剩餘空間的磁碟
ulong FreeBytesAvailable;
ulong TotalNumberOfBytes;
ulong TotalNumberOfFreeBytes;
bool success = GetDiskFreeSpaceEx(drive, out FreeBytesAvailable, out TotalNumberOfBytes, out TotalNumberOfFreeBytes);
if (!success) throw new System.ComponentModel.Win32Exception();
double free_kilobytes = (double)(Int64)TotalNumberOfFreeBytes / 1024.0;
double free_megabytes = free_kilobytes / 1024.0;
double free_gigabytes = free_megabytes / 1024.0;
//取得Server IP
System.Net.IPAddress sever_ip = new System.Net.IPAddress(System.Net.Dns.GetHostByName(System.Net.Dns.GetHostName()).AddressList[0].Address);
Response.Write(sever_ip.ToString() + " 剩餘 " + free_gigabytes.ToString("0.00") + " GB");
[C#]查詢硬碟剩餘空間(透過WinAPI) - .NET菜鳥自救會- 點部落
C# 如何取得本機(Server)的IP @ R~福氣拉! :: 隨意窩 Xuite日誌
Firefox tete009 PGO 安裝流程
標籤:
Firefox
雖然步驟很簡單,但是還是筆記一下,免得老來失憶。
Software - Tete's Atelier
Firefox想要更快?升級PGO+CPU指令集加速版 :: 綠色工廠 Easylife Blog
- 先到tete009官網下載最新版的Firefox和Module binder for Private Build
- 上述兩樣檔案,都解壓縮至目前Firefox所安裝的資料夾
- 執行tbind.exe(依照你的系統環境優化模組)
- 第一次執行後,安裝Language packs
- 網址列輸入about:config
- Filter欄位輸入general.useragent.locale,修改語系成zh-TW
- 重新啟動Firefox
- 收工
Software - Tete's Atelier
Firefox想要更快?升級PGO+CPU指令集加速版 :: 綠色工廠 Easylife Blog
[FireGestures] Browser Position
使用寬螢幕(1920 x 1280)時,快速切換Browser位置至左、中、右,寬度為1280,高度為screen.availHeight
FireGestures :: Make Scripts
FireGestures :: Get Scripts -> [Popup] Resize Window
FireGestures.BrowserPosition = function (x) {
window.resizeTo(1280, screen.availHeight);
window.screenX = x;
window.screenY = 0;
};
FireGestures.generatePopup(event,
[
{ label: "Left" ,oncommand: "this.BrowserPosition(0);" },
{ label: "Center" ,oncommand: "this.BrowserPosition((screen.width - 1280)/2);" },
{ label: "Right" ,oncommand: "this.BrowserPosition(screen.width-1280);" }
]
);
FireGestures :: Make Scripts
FireGestures :: Get Scripts -> [Popup] Resize Window
[FireGestures] Copy Page URL to Clipboard (CLS URL)
改寫官方提供的Copy Page Title and URL to Clipboard,並加入多餘參數清除功能,方便貼在MSN
目前支援:
FireGestures :: Get Scripts
相關文章:
delicious URL Clean
目前支援:
- Youtube
- RSS Source
- Mobile01
- Mobile01 貼圖區
const AS_HTML = true;
function htmlEscape(s) {
s = s.replace(/&/g, "&");
s = s.replace(/>/g, ">");
s = s.replace(/</g, "<");
s = s.replace(/"/g, """);
return s;
}
var l=window.content.location, tmp=l.href;
if(/(\?|&)utm_source.*/.test(tmp)) tmp=tmp.replace(/(\?|&)utm_source.*/i,'');
if((l.href.indexOf('youtube.com')!=-1) && (/(v=.{11})/.test(l.search))) tmp='http://www.youtube.com/watch'+l.search.replace(/.*(v=.{11}).*/i,'?$1');
if(/www\.mobile01\.com/.test(tmp)) tmp=tmp.replace(/&last=.*/,'');
if(/www\.mobile01\.com/.test(tmp) && /gallerydetail\.php/.test(tmp)) tmp=tmp.replace(/&fp=(\d{1})/,'');
var title = window.content.document.title;
var txt = AS_HTML ? '<a href="' + htmlEscape(tmp) + '">' + htmlEscape(title) + '</a>' : title + "\n" + tmp;
var clipboard = Cc["@mozilla.org/widget/clipboardhelper;1"].getService(Ci.nsIClipboardHelper);
clipboard.copyString(txt);
FireGestures :: Get Scripts
相關文章:
delicious URL Clean
delicious URL Clean
標籤:
userscript
加入delicious時,自動清除Youtube、Mobile01、RSS Source多餘參數
相關文章:
[FireGestures] Copy Page URL to Clipboard (CLS URL)
// ==UserScript==
// @name delicious URL Clean
// @description delicious URL Clean
// @author NKid
// @version 2012-06-08
// @run-at document-end
// @include http://delicious.com/save?url=*
// ==/UserScript==
var argUrl=/url=(.*)&title/.exec(decodeURIComponent(location.search))[1], tmp;
if(argUrl.indexOf('utm_source')!=-1){
tmp=argUrl.replace(/(\?|&)utm_source.*/i,'');
}
else if((argUrl.indexOf('youtube.com')!=-1) && (/(feature|hd|NR|playnext|list|p)=.*?/.test(argUrl))){
tmp='http://www.youtube.com/watch?' + argUrl.replace(/.*(v=.{11}).*/i,'$1');
}
else if(/www\.mobile01\.com/.test(argUrl) && /&fp=/.test(argUrl)) {
tmp=argUrl.replace(/&fp=(\d{1})/,'');
}
else if((argUrl.indexOf('mobile01.com')!=-1) && (/&last=/.test(argUrl))){
tmp=argUrl.substring(0,argUrl.indexOf('&last'));
}
if(tmp.length != 0) location.assign(location.pathname+'?url='+encodeURIComponent(tmp)+'&title'+location.search.replace(/\?url.*?&title/,''));
相關文章:
[FireGestures] Copy Page URL to Clipboard (CLS URL)
Improve your jQuery - 25 excellent tips
標籤:
jQuery
- Load the framework from Google Code
- Use a cheat sheet
- Combine all your scripts and minify them
- Use Firebug's excellent console logging facilities
- Keep selection operations to a minimum by caching
- Keep DOM manipulation to a minimum
- Wrap everything in a single element when doing any kind of DOM insertion
- Use IDs instead of classes wherever possible
- Give your selectors a context
- Use chaining properly
- Learn to use animate properly
- Learn about event delegation
- Use classes to store state
- Even better, use jQuery's internal data() method to store state
- Write your own selectors
- Streamline your HTML and modify it once the page has loaded
- Lazy load content for speed and SEO benefits
- Use jQuery's utility functions
- Use noconflict to rename the jquery object when using other frameworks
- How to tell when images have loaded
- Always use the latest version
- How to check if an element exists
- Add a JS class to your HTML attribute
- Return 'false' to prevent default behaviour
- Shorthand for the ready event
Improve your jQuery - 25 excellent tips
Create Shortcut URL
標籤:
AutoHotKey
簡化下載檔案時,常會使用的動作流程
;建立URL(Win + V)
#v::
if WinActive("ahk_class CabinetWClass") ;Explorer才執行
{
strlen:=StrLen(Clipboard) ;取得剪貼簿字串長度
if(strlen > 0)
{
URL=%Clipboard% ;從剪貼簿取得URL
Send !d ;焦點移至網址列 Alt + D
Send ^c ;Ctrl + C
ClipWait 1 ;等待OS 1秒
Send +{Tab} ;取消焦點
FileAppend,[InternetShortcut]`nURL=%URL%`nIconFile=`nIconIndex=1,%Clipboard%\URL.url
}
}
Return
;複製URL(Win + C)
#c::
if WinActive("ahk_class CabinetWClass") ;Explorer才執行
{
Send !{Enter} ;開啟內容
WinWaitActive, 內容, , 1
Send ^c ;Ctrl + C
ClipWait 1 ;等待OS 1秒
Send !{F4} ;關閉內容
}
Return
;反向選取(Win + A)
#a::
if WinActive("ahk_class CabinetWClass") ;Explorer才執行
{
Send {Alt}
Send e
Send i
}
Return
;滑鼠左右鍵切換視窗
~LButton & RButton::AltTab
;關閉主程式(Win + X)
#x::
ExitApp
定時重新整理網頁
標籤:
userscript
// ==UserScript==
// @name AutoReload
// @description 自動定時重新整理
// @include http://elearning.npust.edu.tw/moodle/user/index.php?contextid=265782
// @version 2010-11-08
// ==/UserScript==
var infoBlock=document.createElement('p');
infoBlock.style.position='absolute';
infoBlock.style.top='10px';
infoBlock.style.left='40px';
infoBlock.style.fontSize='1.8em';
infoBlock.innerHTML=1;
document.body.appendChild(infoBlock);
function AR(){
var i=setInterval(function(){Info();},1000);
setTimeout(function(){clearInterval(i);location.reload();},60*1000);
}
function Info(){
infoBlock.innerHTML=parseInt(infoBlock.innerHTML,10)+1;
}
window.addEventListener('DOMContentLoaded',AR,false);
Places query URIs
標籤:
Firefox
找出最近新增已整理的Wretch相簿(20筆)
folder=BOOKMARKS_MENU → 書籤功能表
queryType=1 → 書籤(排除未排序書籤)
sort=12 → Sort by date added, most recent first.
maxResults=20 → 20筆資料
uri=http://www.wretch.cc/album → The URI to match.
uriIsPrefix=true → 過濾
Places query URIs - MDC Doc Center
Firefox書籤整理術:智慧書籤篇 - Mulberry的時間事件簿
Places query syntax • mozillaZine Forums
Places query URIs - MDC
place:folder=BOOKMARKS_MENU&queryType=1&sort=12&maxResults=20&uri=http://www.wretch.cc/album&uriIsPrefix=true
NOTE:folder=BOOKMARKS_MENU → 書籤功能表
queryType=1 → 書籤(排除未排序書籤)
sort=12 → Sort by date added, most recent first.
maxResults=20 → 20筆資料
uri=http://www.wretch.cc/album → The URI to match.
uriIsPrefix=true → 過濾
Places query URIs - MDC Doc Center
Firefox書籤整理術:智慧書籤篇 - Mulberry的時間事件簿
Places query syntax • mozillaZine Forums
Places query URIs - MDC
Node.replaceChild()
標籤:
DOM
,
JavaScript
var oldEle=document.querySelectorAll('#bigcontainer table')[2]; //Original Element
var newEle=document.createElement('div'); //New Element
oldEle.parentNode.replaceChild(newEle,oldEle);
Node.replaceChild - MDC Doc Center
Visual Studio 2008 中文字型
標籤:
VisualStudio
- Open
X:\Documents and Settings\Administrator\Application Data\Microsoft\VisualStudio\9.0
- 用任何文字編輯器打開VsFontLk.dat
- 找到
0404|MingLiU|細明體
- 改成
0404|Microsoft JhengHei|微軟正黑體
0404是16進制,對應10進制是1028,也就是繁體中文的lang id了。後面是字體。
解決Consolas在VS2008的中文顯示問題 - 黑暗執行緒
parseInt()
標籤:
JavaScript
If the radix parameter is omitted, JavaScript assumes the
following:
JavaScript parseInt() Function
- If the string begins with "0x", the radix is 16 (hexadecimal)
- If the string begins with "0", the radix is 8 (octal). This feature is deprecated
- If the string begins with any other value, the radix is 10 (decimal)
JavaScript parseInt() Function
無法存取Application Data等資料夾
標籤:
Win7
Windows 7 其實並沒有 Application Data 目錄,Application Data 對應路徑為 AppData\Roaming
或者可以使用環境變數
win 7 無法存取Application Data等資料夾
或者可以使用環境變數
%USERPROFILE%
win 7 無法存取Application Data等資料夾
FDZ Article Link Clean
標籤:
userscript
自動清除主題連結多餘參數,目前已整合至FDZ Keyword Hightlight
// ==UserScript==
// @name FDZ Article Link Clean
// @description FDZ Article Link Clean
// @include http://forum.fdzone.org/forumdisplay.php?fid=99*
// @include http://forum.*.fdzone.org/forumdisplay.php?fid=99*
// ==/UserScript==
var links=document.querySelectorAll('span[id^=thread] a');
for(var i=0;i<links.length;i++)
links[i].href=links[i].href.replace(/&i.*/i,'');
NPUST Net Flow Check
標籤:
userscript
這支程式的誕生,只是一個小小的念頭閃過
想說有時候用之前寫的『自動抓取流量排行榜(ASP.Net)』還是不夠快速
練練Javascript,順便把『click後,自動切換ip所在offsetTop』實作出來
想說有時候用之前寫的『自動抓取流量排行榜(ASP.Net)』還是不夠快速
練練Javascript,順便把『click後,自動切換ip所在offsetTop』實作出來
// ==UserScript==
// @name NPUST Net Flow Check
// @description NPUST Net Flow Check
// @include http://140.127.35.245/flowview/func/report/main_netflow_inout_theday_fast.php*
// ==/UserScript==
var osTop = new Array(); //記錄IP所在置位的offsetTop
var osTopSeq = 0; //預設顯示第幾筆位置,同時也用來記錄顯示至第幾筆位置
var trs = document.querySelectorAll('#maintable_netflow_inout > tbody > tr'); //表格內全部列
//切換位置
function movePos() {
osTopSeq++;
if (osTopSeq >= osTop.length) osTopSeq = 0;
window.scrollTo(0, osTop[osTopSeq]);
}
for (var i = 1; i < trs.length; i++) {
if (/140\.127\.22\.(228|234)/.test(trs[i].innerHTML)) {
//記錄ip所在offsetTop
osTop.push(trs[i].offsetTop);
//Highlight
for (var j = 0; j < trs[i].childNodes.length; j++)
if (trs[i].childNodes[j].nodeType == 1) trs[i].childNodes[j].style.backgroundColor = 'red';
}
}
//切換置預設位置
if (osTop.length != 0) window.scrollTo(0, osTop[0]);
//click表格可切換ip
document.getElementById('maintable_netflow_inout').addEventListener('click', movePos, false);
M01 Gallery Tradition View Redirect
標籤:
userscript
M01改版後,已不適用
// ==UserScript==
// @name M01 Gallery Tradition View Redirect
// @description M01 Gallery Tradition View Redirect
// @include http://www.mobile01.com/gallerydetail.php*
// @include https://www.mobile01.com/gallerydetail.php*
// ==/UserScript==
/*var links = document.links;
for(var i = 0; i < links.length; i++) {
if (links[i].href.indexOf('topicdetail') != -1)
{
location.assign(links[i].href);
break;
}
}*/
location.assign(document.querySelector('a[href^="topicdetail.php"]').href);
M01 URL Redirect
標籤:
userscript
// ==UserScript==
// @name M01 URL Redirect
// @description M01 URL Redirect
// @include http://www.play01.com/*
// @include http://www.shopping01.com/*
// @include http://5i01.com/*
// ==/UserScript==
location.assign(location.href.replace(/(5i01|www\.play01|www\.shopping01)/i,'www.mobile01'));
M01 Auto Load Img
標籤:
userscript
在參考過userscript.org中的Mobile01 image shower by wenjie和Mobile01 image shower by kclonline
又去翻了一下M01的原始碼,決定直接透過unsafeWindow直接呼叫原網頁函數,一行KO!!
Update : 2010/10/19
整合Auto Page後,自動載入圖片
unsafeWindow - GreaseSpot
[Greasemonkey] 使用UnsafeWindow呼叫原頁面函數或變動的方法
相關文章:
M01 Auto Page Fix Img
又去翻了一下M01的原始碼,決定直接透過unsafeWindow直接呼叫原網頁函數,一行KO!!
Update : 2010/10/19
整合Auto Page後,自動載入圖片
// ==UserScript==
// @name M01 Auto Load Img
// @description Auto Load M01 Img
// @include http://www.mobile01.com/topicdetail.php?f=*
// @include https://www.mobile01.com/topicdetail.php?f=*
// ==/UserScript==
unsafeWindow.LoadAttachImage();
window.addEventListener("AutoPagerize_DOMNodeInserted", function(){unsafeWindow.LoadAttachImage();}, false);
unsafeWindow - GreaseSpot
[Greasemonkey] 使用UnsafeWindow呼叫原頁面函數或變動的方法
相關文章:
M01 Auto Page Fix Img
M01 Auto Page Fix Img
標籤:
JavaScript
,
userscript
身為一位阿宅,常逛M01是天經地義的事,雖有AutoPagerize加持
但還是美中不足,遇上圖片多的文章還是不夠方便,故開發此script加強之,讚!!
Update : 2010/10/19
DOM events - Wikipedia
Gecko-Specific DOM Events - MDC
event.target - MDC
element.addEventListener - MDC
Mobile01 image shower collocate with AutoPagerize
相關文章:
AutoPagerize DOM Event
M01 Auto Load Img
但還是美中不足,遇上圖片多的文章還是不夠方便,故開發此script加強之,讚!!
// ==UserScript==
// @name M01 Auto Page Fix Img
// @description AutoPage後,自動載入圖片
// @include https://www.mobile01.com/*
// @include http://www.mobile01.com/*
// ==/UserScript==
var i = 0;
function AP(event) {
var n = event.target;
if (n.tagName == 'DIV') {
if (i < document.getElementsByClassName('forum_content_main').length) {
unsafeWindow.LoadAttachImage();
i = document.getElementsByClassName('forum_content_main').length
}
}
}
window.addEventListener("DOMNodeInserted", AP, false);
Update : 2010/10/19
// ==UserScript==
// @name M01 Auto Page Fix Img
// @description AutoPage後,自動載入圖片
// @include http://www.mobile01.com/topicdetail.php?f=*
// @include https://www.mobile01.com/topicdetail.php?f=*
// ==/UserScript==
window.addEventListener("AutoPagerize_DOMNodeInserted", function(){unsafeWindow.LoadAttachImage();}, false);
DOM events - Wikipedia
Gecko-Specific DOM Events - MDC
event.target - MDC
element.addEventListener - MDC
Mobile01 image shower collocate with AutoPagerize
相關文章:
AutoPagerize DOM Event
M01 Auto Load Img
最新留言 (Sidebar, 留言欄)
標籤:
Blogger Hack
Sidebar
留言欄
JSON Feeds - Beautiful Beta
Blogger Feed 大全 « Centrifuge
Abin's Tech Note: 「最新回應」模組 (Recent Comments)
XML DOM - Node Types
<style>
#RecentComments p { font-size:1em; }
#RecentComments a.s { font-size:0.8em; }
</style>
<script type="text/javascript">
function recentcomments(json) {
var d = document.getElementById('RecentComments');
var author, content, url;
for (var i = 0, l = json.feed.entry.length; i < l; i++) {
author = (json.feed.entry[i].author[0].name.$t == 'Anonymous') ? '你是誰' : json.feed.entry[i].author[0].name.$t;
url = json.feed.entry[i].link[2].href;
content = (json.feed.entry[i].title.$t.length > 14) ? json.feed.entry[i].title.$t.substring(0, 14) + '<a class="s" href="' + url + '">(略)</a>' : json.feed.entry[i].title.$t;
var r = document.createElement('p');
r.innerHTML = '<a href="' + url + '">' + author + '</a> 說: <br />' + content;
d.appendChild(r);
}
}
</script>
<div id="RecentComments"></div>
<script src="/feeds/comments/default?max-results=5&alt=json-in-script&callback=recentcomments"></script>
留言欄
//方法1 (判斷nodeType等於TEXT_NODE)
var ca=document.getElementsByClassName('comment-author');
for(var i=0;i<ca.length;i++)
{
for(var j=0;j<ca[i].childNodes.length;j++)
if((ca[i].childNodes[j].nodeType ==3) && (ca[i].childNodes[j].nodeValue.indexOf('匿名') != -1))
ca[i].childNodes[j].nodeValue=ca[i].childNodes[j].nodeValue.replace('匿名','不知道是誰');
}
//方法2 (使用textContent屬性,IE不支援)
var ca=document.getElementsByClassName('comment-author');
for(var i=0;i<ca.length;i++)
if(ca[i].textContent.indexOf('匿名') != -1)
ca[i].textContent=ca[i].textContent.replace('匿名','不知道是誰');
JSON Feeds - Beautiful Beta
Blogger Feed 大全 « Centrifuge
Abin's Tech Note: 「最新回應」模組 (Recent Comments)
XML DOM - Node Types
重新介紹 JavaScript - MDC
標籤:
筆記
,
JavaScript
&& 以及 || 運算子用的是「短路邏輯」(short-circuit logic),也就是說,第二個運算值是否會被執行靠的是第一個運算值。這用來在存取一個物件的屬性前檢查物件是否為空 (null) 非常有用:
或是用來設預設值:
JavaScript 也有三元運算子 (tertiary operator),可以用來寫單行的條件陳述式:
利用上述,便可以像下列一樣在陣列上做迴圈:
這樣不是很有效率,因為每迴圈一次就會查詢一次 length 屬性。比較好的做法是:
也可以使用while:
另外一個做迴圈的方法是用 for...in 迴圈。不過,假如有人用 Array.prototype 新增新的屬性,那些屬性也會被這種迴圈讀到:
重新介紹 JavaScript - MDC
var name = o && o.getName();
或是用來設預設值:
var name = otherName || "預設";
JavaScript 也有三元運算子 (tertiary operator),可以用來寫單行的條件陳述式:
var allowed = (age > 18) ? "是" : "否";
利用上述,便可以像下列一樣在陣列上做迴圈:
for (var i = 0; i < a.length; i++) {
//處理 a[i]
}
這樣不是很有效率,因為每迴圈一次就會查詢一次 length 屬性。比較好的做法是:
for (var i = 0, len = a.length; i < len; i++) {
//處理 a[i]
}
也可以使用while:
var i = arr.length;
while (i--) {
a[i]
}
另外一個做迴圈的方法是用 for...in 迴圈。不過,假如有人用 Array.prototype 新增新的屬性,那些屬性也會被這種迴圈讀到:
for (var i in a) {
//處理 a[i]
}
重新介紹 JavaScript - MDC
array.sort(compare function)
標籤:
JavaScript
var KWs = ['1080', 'smg', 'MU', 'MEGAUPLOAD', 'MULTIUPLOAD', 'xuite', 'FB', 'FileBase', '多免空', 'JDOWNLOADER', '台版', '三區'];
function descStrLen(a, b) {
if (a.length < b.length) return 1;
}
KWs.sort(descStrLen);
Random Array Sort
Sorting a JavaScript array using array.sort()
螞蟻的 JavaScript: Array:變動方法
sort - MDC
C# 控制項拖曳
control.AllowDrop = True; //記得一定要開,否則下面程式都不會跑
private void control_DragDrop(object sender, DragEventArgs e)
{
string[] filePaths = (string[])(e.Data.GetData(DataFormats.FileDrop));
foreach (string fileLoc in filePaths)
{
}
}
private void control_DragEnter(object sender, DragEventArgs e)
{
if (e.Data.GetDataPresent(DataFormats.FileDrop))
{
e.Effect = DragDropEffects.Link;
}
else
{
e.Effect = DragDropEffects.None;
}
}
Drag and Drop Text Files from Windows Explorer to your Windows Form Application
Visual Basic 2005 – 如何拖放圖片 @ 章立民研究室
4.5托曳事件 - Happy VB開心農莊
Javascript 數值、字串 資料型態
標籤:
JavaScript
有數字的字串當中使用「 + 」號時,運算式則視它為字串,假如有「 – 」號或其它運算子,運算式則視它為數值。
JavaScript1.5 資料型態(Datatype)
x = "The answer is " + 50 //回傳值為 "The answer is 50"
y = 50 + " is the answer" //回傳值為 "50 is the answer"
"50" - 5 //回傳值為 45(將字串型態的值轉換為數值型態)
"50" + 5 //回傳值為 505(將數值型態的值轉換為字串型態)
"50" - 0 + 5 //回傳直為 55(數值字串遇到-0(減零)會先轉變成數值型態)
JavaScript1.5 資料型態(Datatype)
FDZ Title Keyword Hightlight
標籤:
JavaScript
,
RegExp
,
userscript
2010-10-04 基本架構完成
2010-10-05 使用GM API存取關鍵字
2010-10-06 使用GM_addStyle修正Inline stylesheet所引起的多次取代
2010-10-10 使用array.sort(compare function),自動排列關鍵字,字數較多者優先
2010-12-26 程式更名『FDZ Title Keyword Hightlight』
2011-03-05 文章描述加入搜尋
2011-03-09 加入開啟連結於新分頁和GUI
// ==UserScript==
// @name FDZ Title Keyword Hightlight
// @description 自動高亮文章標題關鍵字
// @author nightkid@FDZ
// @version 2011-03-09
// @include http://forum.fdzone.org/forumdisplay.php?fid=*
// @include http://forum.*.fdzone.org/forumdisplay.php?fid=*
// ==/UserScript==
GM_registerMenuCommand('FDZ Title Keyword Hightlight - Setting Keywords', settingKeywords);
GM_registerMenuCommand('FDZ Title Keyword Hightlight - Keywords List', listKeywords);
GM_registerMenuCommand('FDZ Title Keyword Hightlight - Open Link in New Tab', openNewTab);
//GM_registerMenuCommand('FDZ Title Find RegExp - DEL', DEL);
GM_addStyle('.GM_gotit {color:#000;background-color:#FBED73;-moz-border-radius:3px;padding:0 2px;}'); //Highlight Keyword Style
GM_addStyle('#GM_newtab {-moz-border-radius: 3px; color: #000000; cursor: pointer; font-size: 10px; height: 10px; position: fixed; right: 3px; top: 3px; width: 10px;} .GM_newtabOn {background-color: #00FF00} .GM_newtabOff {background-color: #FF0000}'); //NewTab State
/*function DEL() {GM_deleteValue("keywords");}*/
//setting Keywords
function settingKeywords() {
var KWs = (decodeURI(GM_getValue("keywords")) == 'undefined') ? '' : decodeURI(GM_getValue("keywords"));
var newKWs = prompt('Please Enter the Keywords.\n(use commas to separate)', KWs).split(',');
newKWs.sort(descStrLen);
GM_setValue("keywords", encodeURI(newKWs.join()));
refreshPage();
}
//list Keywords
function listKeywords() {
var listKWs = decodeURI(GM_getValue("keywords")).split(',');
alert(listKWs.join('\n'));
}
//Open articles in new tab
function openNewTab() {
GM_setValue("newtab", confirm("Open articles in new tab?"));
refreshPage();
}
//sort function (by string length)
function descStrLen(a, b) {
if (a.length < b.length) return 1;
}
//Message Refresh Page
function refreshPage() {
alert('Please Refresh Page.');
}
function main() {
var KWs = decodeURI(GM_getValue('keywords')).split(','); //keywords array
var titles = document.querySelectorAll('span[id^=thread_]'); //all articles' title
var descs=document.querySelectorAll("[id^='desc_']"); //all articles' description
//new tab state
var tar=GM_getValue('newtab');
var newtabState = document.createElement("div");
newtabState.id="GM_newtab";
newtabState.title="Open articles in newtab ?";
newtabState.className=(tar)?"GM_newtabOn":"GM_newtabOff";
document.getElementsByTagName("body")[0].appendChild(newtabState);
document.getElementById('GM_newtab').addEventListener('click',function(){GM_setValue("newtab", 1-GM_getValue("newtab")); refreshPage(); },false);
var i, j, k, r, titleStr, descStr;
//先把KeyWord轉換成RegExp
var rKWs = new Array(); //RegExp KeyWords
for (k = 0; k < KWs.length; k++) {
r = new RegExp('(' + KWs[k] + ')', 'ig');
rKWs[k] = r;
}
for (i = 0; i < titles.length; i++) {
//取出文章標題超連結的文字
titleStr = titles[i].childNodes[0].innerHTML;
//比對關鍵字
for (j = 0; j < rKWs.length; j++) {
if (rKWs[j].test(titleStr)) titleStr = titleStr.replace(rKWs[j], '<span class=\"GM_gotit\">$1</span>');
}
titles[i].childNodes[0].innerHTML = titleStr;
titles[i].childNodes[0].target=(tar)?"_blank":"";
}
for (i = 0; i< descs.length; i++) {
//取出文章描述的文字
descStr = descs[i].innerHTML;
//比對關鍵字
for (j = 0; j < rKWs.length; j++) {
if (rKWs[j].test(descStr)) descStr = descStr.replace(rKWs[j], '<span class=\"gotit\">$1</span>');
}
descs[i].innerHTML = descStr;
}
}
main();
Note:
把字串陣列,轉換成RegExp陣列
var Strs = ['aa', 'bb', 'cc', 'dd', 'ee'];
var rStrs = new Array(); //用來存放轉換完的RegExp
for (i = 0; i < Strs.length; i++) {
t = new RegExp('(' + Strs[i] + ')', 'i');
rStrs[i] = t;
}
Greasemonkey Manual:API - GreaseSpot
修改 Textarea Backup 支援中文
GreaseMonkey的User Script Command怎麼使用?
Core Object - 正規表達式物件(RegExp Object) | JavaScript
MEMO-用Javascript RegExp將<x>置換成<span class="x"> - 黑暗執行緒
JavaScript join() Method
JavaScript split() Method
文章超連結出現<、> (HTML Special Characters)
標籤:
Blogger Hack
如果超連結出現<、>,在發佈文章時會出現錯誤
依照下列步驟,即可解決!!
HTML 4.0 Special Entities
依照下列步驟,即可解決!!
- 切換至『撰寫』模式
- 選取超連結,點選『連結』功能,貼上網址
HTML 4.0 Special Entities
FDZ Post Img(List)
標籤:
Bookmarklet
,
JavaScript
開啟新頁,並列出文章裡所有外連圖片
點擊圖片即可重新讀取圖片
FDZ Post Img(List)
Note:
強制重新載入圖片 | CFSOHO BLOG
點擊圖片即可重新讀取圖片
javascript: (function () {
var img = document.querySelectorAll("div[id^=postmessage] img"),
tmp = '';
for (var i = 0; i < img.length; i++) {
if (img[i].src.indexOf(location.host) == -1) tmp += '<img onclick=\"this.src=this.src + \'?\'+new Date().getTime();\" style=\"border:1pt solid #000;margin:5px 0;padding:5px\" src=\"' + img[i].src + '\"><br>';
}
var n = window.open('', '').document;
n.open();
n.write(tmp);
n.close();
})()
FDZ Post Img(List)
Note:
img.src=img.src+'?'+new Date().getTime(); //強制重新載入圖片,略過cache
強制重新載入圖片 | CFSOHO BLOG
For...In Statement
標籤:
JavaScript
for (variable in object) {
code to be executed
}
Note: The code in the body of the for...in loop is executed once for each element/property.
FDZ ScrollTo Attach
標籤:
JavaScript
,
userscript
// ==UserScript==
// @name FDZ ScrollTo Attach
// @description 開啟主題後,自動捲動至附件
// @include http://forum.*.fdzone.org/viewthread.php?tid=*
// @include http://forum.fdzone.org/viewthread.php?tid=*
// ==/UserScript==
function doit()
{
window.scrollTo(0,document.getElementsByClassName('t_attachlist')[0].offsetTop);
}
window.addEventListener ("DOMContentLoaded", doit, false);
Note:
window.addEventListener ("load", doSomething, false); //load事件的觸發要等網頁全部圖片、檔案下載完畢才會執行
window.addEventListener ("DOMContentLoaded", doSomething, false); //DOMContentLoaded事件的觸發不必等到圖片、檔案等下載完畢,就會執行
window.scrollTo(0,element.offsetTop); //垂直捲動網頁至element
DOMContentLoaded
Blogger 文章、回覆總數
標籤:
Blogger Hack
<script>
function totalArticles(json) {
var tA = document.createElement('p');
tA.appendChild(document.createTextNode('文章總數 : ' + json.feed.openSearch$totalResults.$t));
document.getElementById('HTML1').appendChild(tA);
}
function totalComments(json) {
var tC = document.createElement('p');
tC.appendChild(document.createTextNode('回覆總數 : ' + json.feed.openSearch$totalResults.$t));
document.getElementById('HTML1').appendChild(tC);
}
</script>
<script src="/feeds/posts/default?alt=json-in-script&callback=totalArticles&&max-results=0" type="text/javascript"/></script>
<script src="/feeds/comments/default?alt=json-in-script&callback=totalComments&&max-results=0" type="text/javascript"/></script>
計算 Blog 的文章總數和回應總數
版面 Script更新‧Ⅴ
JSON Feeds
Google字典
標籤:
Bookmarklet
在網頁中選取所要查詢的字串,再點擊本Bookmarklet
即可把所選取字串丟至Google字典查詢
P.S.連input、textarea都通吃了
Google字典
即可把所選取字串丟至Google字典查詢
P.S.連input、textarea都通吃了
javascript: (function () {
function getInputText() {
var it = document.getElementsByTagName('input');
for (var i = 0; i < it.length; i++) {
if (it[i].type == 'text') {
var startPos = it[i].selectionStart;
var endPos = it[i].selectionEnd;
if (startPos == endPos) {
return 0;
}
return it[i].value.substring(startPos, endPos);
}
}
return 0;
}
function getTextarea() {
var ta = document.getElementsByTagName('textarea');
for (var j = 0; j < ta.length; j++) {
if (ta[j].selectionStart != ta[j].selectionEnd) return ta[j].value.substring(ta[j].selectionStart, ta[j].selectionEnd);
}
return 0;
}
var s = document.getSelection();
if (s.length == 0) s = getInputText();
if (s == 0) s = getTextarea();
if (s == 0) s = prompt('Enter a vocabulary.', '');
if (s.length != 0) window.open('http://www.google.com.tw/dictionary?aq=f&langpair=en|zh-TW&q=' + s + '&hl=zh-TW');
})()
Google字典
全域Google, Yahoo字典查詢
標籤:
AutoHotKey
#g:: ;定義按 Win + G 鍵,啟用 Google 字典
Clipboard = ;清空剪貼簿
Send, ^c ;送出 Ctrl + C
strlen:=StrLen(Clipboard) ;取得剪貼簿字串長度
if(strlen > 0)
{
ClipWait, 1 ;等待OS,剪貼簿等待1秒
Run , firefox.exe "http://www.google.com.tw/dictionary?aq=f&langpair=en|zh-TW&hl=zh-TW&q=%Clipboard%"
}
Return
#y:: ;定義按 Win + Y 鍵,啟用 Yahoo 字典
Clipboard = ;清空剪貼簿
Send, ^c ;送出 Ctrl + C
strlen:=StrLen(Clipboard) ;取得剪貼簿字串長度
if(strlen > 0)
{
ClipWait, 1 ;等待OS,剪貼簿等待1秒
Run , firefox.exe "http://tw.dictionary.yahoo.com/dictionary?p=%Clipboard%"
}
Return
FileBase.to Skip
標籤:
userscript
// ==UserScript==
// @name FileBase.to
// @description 自動抓取下載連結
// @include http://filebase.to/files/*
// ==/UserScript==
if (document.getElementById('dl_free3'))
document.forms[0].submit();
if (document.getElementById('captcha'))
document.forms[0].submit();
if (document.getElementsByTagName('form')[0].action.indexOf('#') == -1)
prompt('Done.', document.getElementsByTagName('form')[0].action);
Click Rex
標籤:
AutoHotKey
/****************************************************
* Copyright (c) 2010, NKid. All Rights Reserved.
* PROJECT:Click Rex
* DESCRIPTION:全自動背景傳送MSN來電震動
* VERSION:2
****************************************************/
#x:: ;按下win + x執行程式
SetCapsLockState, off ;把CapsLock設為關
TrayTip, Click Rex, Turn On, 1 ;顯示開始訊息
Loop
{
;按下CapsLock即停止程式
if GetKeyState("CapsLock", "T") {
TrayTip, Click Rex, Turn Off, 1
SetCapsLockState, off
Break
}
SetTitleMatchMode,2
ControlClick ,x130 y487,rexob7w
;Click ;按左鍵
;Send, ...{enter}
Sleep 10
}
使用Bookmarklet開啟新視窗並寫入原始碼
標籤:
Bookmarklet
- 把所要寫入的原始碼進行Compress HTML
- 壓縮後,把HTML屬性的雙引號(")取代成
\"
- 接著,再把javascript裡的換行符號(\n)取代成
\\n
- 補充,javascript裡的反斜線(\)取代成
\\
- 置入here的部份
var n = window.open("", "").document, c;
c = "here";
n.open();
n.write(c);
n.close(); - 取代完成後,把上述步驟所有程式碼使用Bookmarklet Builder製成Bookmarklet
Note:
- HTML使用
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
</body>
</html> - javascript撰寫部份使用單引號
- 步驟2、3、4皆在處理跳脫字元,可寫成巨集
Multiple commands in cmd
標籤:
cmd
字元 | 語法 | 定義 |
---|---|---|
& [...] | Command1 &Command2 | 在一個命令列上,用來分割多個命令。Cmd.exe 會執行第一個命令,然後,再執行第二個命令。 |
&& [...] | Command1 &&Command2 | 唯有 && 符號前面的命令成功時,才執行該符號之後的命令。Cmd.exe 會執行第一個命令,並且只有當第一個命令完全成功時,才會執行第二個命令。 |
|| [...] | Command1 || Command2 | 唯有 || 前的命令失敗時,才執行 || 之後的命令。Cmd.exe 會執行第一個命令,並且只有當第一個命令未成功完成 (接收到大於 0 的錯誤字碼) 時,才執行第二個命令。 |
( ) [...] | (Command1 & Command2) | 用於組合或巢狀處理多個命令。 |
; 或 , | Command1 Parameter1;Parameter2 | 用於分割命令參數。 |
命令殼層概觀
Solved: multiple commands in CMD?
How to Group Multiple Commands in cmd.exe
變更Firefox介面樣式 (userChrome.css)
標籤:
Firefox
- 開啟Profile\chrome\
- 複製userChrome-example.css為userChrome.css
- 鍵入
*{font-family:Microsoft JhengHei !important; font-size: 1em !important;}
/*拿掉功能表按鈕預設字串*/
#appmenu-button .button-text {display:none !important;}
/*功能表按鈕換上自訂字串*/
#appmenu-button .button-box .box-inherit:before {content: "NKid";color: white;}
/*拿掉功能表按鈕箭頭符號*/
#appmenu-button .button-menu-dropmarker {display: none !important;} - 重新啟動Firefox
Windows cmd Consolas 字型
標籤:
cmd
- 先 chcp 65001 切到 UTF-8
- 在 cmd.exe 的內容裡,利用「字型」頁籤,選擇 Consolas 字型
- 按「確定」關閉「內容」視窗,儲存成為適用於全部
- 重新開啟 cmd.exe,切到「內容」的「版面設定」頁籤,隨便修改一個值
- 按「確定」關閉「內容」視窗,儲存成為適用於全部
- 重新開啟 cmd.exe,下 chcp 950 指令
- 開啟「內容」,此時會位於「版面設定」頁籤,修改成原來的值,但不要切到任何別的頁籤
- 按「確定」關閉「內容」視窗,儲存成為適用於全部
- 重新啟動 cmd.exe,完成。
因此,我們先利用第 4 步,讓「內容」的頁籤「定位」在「版面設定」裡,切回 codepage 950 之後,重新啟動「內容」,此時頁籤是在「版面設定」,而不是「字型」,修改設定值後存檔,再關閉 cmd.exe,就可以把 codepage 的設定,連同版面設定,但不含字型設定,給儲存起來。
Consolas in Windows Console
DIR
標籤:
cmd
顯示檔案清單以列出目錄中的檔案及子目錄。
DIR [drive:][path][filename] [/A[[:]attributes]] [/B] [/C] [/D] [/L] [/N]
[/O[[:]sortorder]] [/P] [/Q] [/R] [/S] [/T[[:]timefield]] [/W] [/X] [/4]
[drive:][path][filename]
指定要顯示的磁碟機、目錄或檔案。
/A 依照指定的檔案屬性來顯示檔案。
attributes D 目錄 R 唯讀檔
H 隱藏檔 A 保存檔
S 系統檔案 - 無意義
L 重新分析點 - 首碼表示否定
/B 使用單純格式 (沒有標頭資訊或摘要)。
/C 顯示檔案大小千位數分隔符號。這是預設值。使用 /-C 來停用
分隔符號的顯示。
/D 與寬的列表格式相同,但是依照欄來排序。
/L 使用小寫顯示。
/N 使用新的長列表格式,檔名會顯示在最右方。
/O 依照指定的排序順序來列出檔案。
sortorder N 依名稱 (英文字母) S 依大小 (最小的在前)
E 依副檔名 (英文字母) D 依照日期與時間 (日期較早的在前)
G 先列出子目錄 - 表示相反的順序
/P 當資料填滿整個螢幕時暫停顯示。
/Q 顯示檔案擁有者。
/R 顯示檔案的替代資料流。
/S 顯示指定目錄及所有子目錄中的檔案。
/T 指定用來顯示或排序的時間欄位
timefield C 建立
A 上次檔案存取時間
W 上次寫入檔案時間
/W 使用寬的列表格式。
/X 顯示對非 8.3 格式的檔案產生的短檔名。這個格式和 /N 相同,
但是短檔名會插入在長檔名之前。如果沒有長檔名存在,該處會
顯示空白。
/4 顯示四位數的年份
參數可能會在 DIRCMD 環境變數預先設定。您可以在任何參數使用連字號字首(-)
來覆蓋預先的設定--例如: /-W。
DIR [drive:][path][filename] [/A[[:]attributes]] [/B] [/C] [/D] [/L] [/N]
[/O[[:]sortorder]] [/P] [/Q] [/R] [/S] [/T[[:]timefield]] [/W] [/X] [/4]
[drive:][path][filename]
指定要顯示的磁碟機、目錄或檔案。
/A 依照指定的檔案屬性來顯示檔案。
attributes D 目錄 R 唯讀檔
H 隱藏檔 A 保存檔
S 系統檔案 - 無意義
L 重新分析點 - 首碼表示否定
/B 使用單純格式 (沒有標頭資訊或摘要)。
/C 顯示檔案大小千位數分隔符號。這是預設值。使用 /-C 來停用
分隔符號的顯示。
/D 與寬的列表格式相同,但是依照欄來排序。
/L 使用小寫顯示。
/N 使用新的長列表格式,檔名會顯示在最右方。
/O 依照指定的排序順序來列出檔案。
sortorder N 依名稱 (英文字母) S 依大小 (最小的在前)
E 依副檔名 (英文字母) D 依照日期與時間 (日期較早的在前)
G 先列出子目錄 - 表示相反的順序
/P 當資料填滿整個螢幕時暫停顯示。
/Q 顯示檔案擁有者。
/R 顯示檔案的替代資料流。
/S 顯示指定目錄及所有子目錄中的檔案。
/T 指定用來顯示或排序的時間欄位
timefield C 建立
A 上次檔案存取時間
W 上次寫入檔案時間
/W 使用寬的列表格式。
/X 顯示對非 8.3 格式的檔案產生的短檔名。這個格式和 /N 相同,
但是短檔名會插入在長檔名之前。如果沒有長檔名存在,該處會
顯示空白。
/4 顯示四位數的年份
參數可能會在 DIRCMD 環境變數預先設定。您可以在任何參數使用連字號字首(-)
來覆蓋預先的設定--例如: /-W。
輸出資料夾檔案及目錄名稱至List.txt
DIR /B /OG > List.txt
ROBOCOPY
- WinXP請安裝Resource Kit Tools
- Vista以上的OS,才有內建此指令
-------------------------------------------------------------------------------
ROBOCOPY :: Robust File Copy for Windows
-------------------------------------------------------------------------------
使用方式 :: ROBOCOPY source destination [file [file]...] [options]
source :: 來源目錄 (drive:\path 或 \\server\share\path)。
destination :: 目的地目錄 (drive:\path 或 \\server\share\path)。
file :: 要複製的檔案 (名稱/萬用字元: 預設值是 "*.*")。
::
:: 複製選項 :
::
/S :: 複製子目錄,但是空的子目錄例外。
/E :: 複製子目錄,包括空的子目錄。
/LEV:n :: 只複製來源目錄的前 n 層。
/Z :: 在可重新啟動模式複製檔案。
/B :: 在備份模式複製檔案。
/ZB :: 使用可重新啟動模式; 如果拒絕存取,則使用備份模式。
/EFSRAW :: 在 EFS RAW 模式複製所有加密檔案。
/COPY:copyflag[s] :: 要為檔案複製什麼內容 (預設值是 /COPY:DAT)。
(複製旗標: D=資料、A=屬性、T=時間戳記)。
(S=安全性=NTFS ACL、O=擁有者資訊、U=稽核資訊)。
/DCOPY:T :: 複製目錄時間戳記。
/SEC :: 複製包含安全性的檔案 (相當於 /COPY:DATS)。
/COPYALL :: 複製所有檔案資訊 (相當於 /COPY:DATSOU)。
/NOCOPY :: 不複製檔案資訊 (可用於 /PURGE)。
/SECFIX :: 修正所有檔案的安全性,即使略過的檔案也包含在內。
/TIMFIX :: 修正所有檔案的檔案時間,即使略過的檔案也包含在內。
/PURGE :: 刪除來源已經不存在的目的地檔案/目錄。
/MIR :: 鏡像樹狀目錄 (相當於 /E 加 /PURGE)。
/MOV :: 移動檔案 (複製後從來源刪除)。
/MOVE :: 移動檔案和目錄 (複製後從來源刪除)。
/A+:[RASHCNET] :: 將指定的屬性新增至複製的檔案。
/A-:[RASHCNET] :: 從複製的檔案移除指定的屬性。
/CREATE :: 只建立樹狀目錄和長度為零的檔案。
/FAT :: 只使用 8.3 FAT 檔案名稱,建立目的地檔案。
/256 :: 關閉特長路徑 (> 256 個字元) 支援。
/MON:n :: 監視來源; 看到 n 個字元以上時再次執行。
/MOT:m :: 監視來源; m 分鐘後如果變更,則再次執行。
/RH:hhmm-hhmm :: 執行時數 - 新複本可以開始的時間。
/PF :: 根據每一個檔案為基礎,檢查執行時數 (不是根據每一次通過)。
/IPG:n :: 慢速線路可用頻寬,封包之間的差距 (毫秒)。
/SL :: 複製符號連結與目標。
/MT[:n] :: 以 n 個執行緒執行多執行緒複製 (預設值為 8)。
n 必須至少為 1,但不可以大於 128。
此選項與 /IPG 和 /EFSRAW 選項不相容。
使用 /LOG 選項重新導向輸出,以獲得更好的效能。
::
:: 檔案選取選項 :
::
/A :: 只複製已設定保存屬性的檔案。
/M :: 只複製包含保存屬性的檔案並重設。
/IA:[RASHCNETO] :: 只包含附帶任何指定屬性的檔案。
/XA:[RASHCNETO] :: 排除附帶任何指定屬性的檔案。
/XF file [file]... :: 排除符合指定名稱/路徑/萬用字元的檔案。
/XD dirs [dirs]... :: 排除符合指定名稱/路徑的目錄。
/XC :: 排除變更的檔案。
/XN :: 排除較新的檔案。
/XO :: 排除較舊的檔案。
/XX :: 排除其他檔案和目錄。
/XL :: 排除孤立的檔案和目錄。
/IS :: 包含相同的檔案。
/IT :: 包含調整的檔案。
/MAX:n ::檔案大小上限 - 排除大於 n 個位元組的檔案。
/MIN:n :: 檔案大小下限 - 排除小於 n 個位元組的檔案。
/MAXAGE:n :: 檔案期限上限 - 排除 n 日/日期之前的檔案。
/MINAGE:n :: 檔案期限下限 - 排除 n 日/日期之後的檔案。
/MAXLAD:n :: 上次存取日期上限 -排除自 n 日後未使用的檔案。
/MINLAD:n :: 上次存取日期下限 - 排除自 n 日後使用的檔案。
(如果 n < 1900 則 n = n 日,否則 n = YYYYMMDD 日期)。
/XJ :: 排除交叉點。(一般會預設包含)。
/FFT :: 使用 FAT 檔案時間 (2 秒精細度)。
/DST :: 補償 1 小時 DST 時差。
/XJD :: 排除目錄的交叉點。
/XJF :: 排除檔案的交叉點。
::
:: 重試選項:
::
/R:n :: 失敗複本的重試次數: 預設值是 1 百萬次。
/W:n :: 重試之間等候時間: 預設值是 30 秒。
/REG :: 將 /R:n 和 /W:n 儲存至登錄中,變成預設值。
/TBD :: 等候共用名稱。即將定義 (重試錯誤 67)。
::
:: 記錄選項:
::
/L :: 限清單 - 不複製、刪除任何檔案或加上戳記。
/X :: 報告所有其他檔案,不僅是這些選取的檔案而已。
/V :: 產生詳細資訊輸出,顯示略過的檔案。
/TS :: 在輸出中包含來源檔案時間戳記。
/FP :: 在輸出中包含檔案的完整路徑名稱。
/BYTES :: 將大小列印成位元組。
/NS :: 沒有大小 - 不記錄檔案大小。
/NC :: 沒有類別 - 不記錄檔案類型。
/NFL :: 沒有檔案清單 - 不記錄檔案名稱。
/NDL :: 沒有目錄清單 - 不記錄目錄名稱。
/NP :: 無進度 - 不顯示複製百分比。
/ETA :: 顯示複製的檔案預估到達時間。
/LOG:file :: 輸出狀態至記錄檔 (覆寫現有的記錄檔)。
/LOG+:file :: 輸出狀態至記錄檔 (附加至現有的記錄檔)。
/UNILOG:file :: 輸出狀態至記錄檔,變成 UNICODE (覆寫現有的記錄檔)。
/UNILOG+:file :: 輸出狀態至記錄檔,變成 UNICODE (附加至現有的記錄檔)。
/TEE :: 輸出至主控台視窗,以及記錄檔。
/NJH :: 沒有工作標頭。
/NJS :: 沒有工作摘要。
/UNICODE :: 輸出狀態為 UNICODE。
::
:: 工作選項:
::
/JOB:jobname :: 從命名的工作檔案取得參數。
/SAVE:jobname :: 將參數儲存至命名的工作檔案
/QUIT :: 處理命令列後結束 (檢視參數)。
/NOSD :: 未指定來源目錄。
/NODD :: 未指定目的地目錄。
/IF :: 包含以下檔案。
Google Docs Viewer
標籤:
Bookmarklet
,
tips
網頁中的超連結如有包含.doc、.pdf、.tiff、.ppt、.docx、.pptx、.xls、.xlsx、.svg
將自動上色且點擊後使用Google Docs Viewer開啟
Google Docs Viewer
範例網頁
RegExp Object可以直接引用
View PDFs With Google Docs Viewer Bookmarklet [Update: Greasemonkey Script]
Bookmarklet for "Google Docs Viewer"
將自動上色且點擊後使用Google Docs Viewer開啟
javascript: (function () {
var link = document.links;
for (var i = 0; i < link.length; i++) {
if (/\.(doc|pdf|tiff|ppt|docx|pptx|xls|xlsx|svg)$/i.test(link[i].href)) {
link[i].href = 'http://docs.google.com/viewer?url=' + encodeURIComponent(link[i].href);
link[i].target = '_blank';
link[i].style.backgroundColor = '#00CC00';
link[i].style.color = '#FFF';
link[i].style.fontWeight = 'bold';
}
}
})()
Google Docs Viewer
範例網頁
RegExp Object可以直接引用
/\.(doc|pdf|tiff|ppt|docx|pptx|xls|xlsx|svg)$/i.test(link[i].href)
View PDFs With Google Docs Viewer Bookmarklet [Update: Greasemonkey Script]
Bookmarklet for "Google Docs Viewer"
訂閱:
文章
(
Atom
)