JavaScript/Bookmarklets
外觀
Bookmarklet是存儲在書籤的URL字段中的一行腳本。書籤已經存在了很長時間,因此它們可以在較舊的瀏覽器中使用。
JavaScript URI 方案
[編輯]您應該熟悉以http和ftp等方案開頭的 URL ,例如http://en.wikibooks.org/。還有用於啟動每個書籤的JavaScript方案。
JavaScript:alert('Hello, World!');
示例使用
[編輯]媒體控制
[編輯]The values in these examples can be adapted as desired.
One may replace video
with audio
where applicable, meaning where an <audio>
tag is embedded.
這些示例中的值可以根據需要進行調整。在適用的情況下,video
可以替換為audio
,意味着一個audio
標籤被嵌入。
- 循環播放視頻
javascript:document.getElementsByTagName("video")[0].loop=1;
javascript:document.getElementsByTagName("video")[0].loop=true; // also works
可以使用0
或false
關閉。
- 跳到十分鐘(使用乘法)
javascript:document.getElementsByTagName("video")[0].currentTime=60*10;
- 向前跳一分鐘(六十秒)
javascript:document.getElementsByTagName("video")[0].currentTime+=60;
- 向後跳半分鐘(使用除法)
javascript:document.getElementsByTagName("video")[0].currentTime-=60/2;
- 獲取控制台頁面上視頻的持續時間
javascript:document.getElementsByTagName("video")[0].duration
- 提醒持續時間
javascript:alert('This video is '+document.getElementsByTagName("video")[0].duration+' seconds long.')
- 提醒播放時間
javascript:alert('The current position of the video is at '+document.getElementsByTagName("video")[0].currentTime+' seconds.')
- 將音量設置為 50%
javascript:document.getElementsByTagName("video")[0].volume=50/100
- 靜音
javascript:document.getElementsByTagName("video")[0].muted=1 // "true" works as well
Unmute using 0
or false
.
- 播放速度翻倍
javascript:document.getElementsByTagName("video")[0].playbackRate=2
- 詢問播放速度
javascript:document.getElementsByTagName("video")[0].playbackRate= parseFloat( prompt("How fast should it play?") );
parseFloat
如果對話窗口在沒有用戶輸入的情況下關閉,則必須防止將值設置為零。
- 以秒為單位詢問播放位置
javascript:document.getElementsByTagName("video")[0].currentTime=parseFloat( prompt("Jump to playback position in seconds:") );
- 以分鐘為單位詢問播放位置
javascript:document.getElementsByTagName("video")[0].currentTime=60*parseFloat( prompt("Jump to playback position in minutes:") );
- 以百分比請求播放位置(0 到 100)
javascript:document.getElementsByTagName("video")[0].currentTime=document.getElementsByTagName("video")[0].duration/100*parseFloat( prompt("Jump to playback position in percents:") );
使用多行代碼
[編輯]由於您不能在書籤中使用換行符,因此您必須在每個代碼語句的末尾使用分號。
JavaScript:name=prompt('What is your name?'); alert('Hello, ' + name);
鏈接中的JavaScript協議
[編輯]JavaScript協議可用於鏈接。這可能被認為是不好的做法,因為它會阻止禁用 JavaScript 的用戶訪問或混淆。請參閱Best Practices。
<a href="JavaScript:document.bgColor='#0000FF'">blue background</a>
示例
[編輯]在bookmarklets.com上可以找到大量鏈接,其中顯示了可以在 JavaScript 中執行的各種功能。