[問卦] 要學油猴腳本語法有推薦的書嗎?
原本因為找不到讓瀏覽器有便利貼的腳本語法,想自已寫一個給chrome用
一開始怕直接寫會失敗還找了chatGPT和它邊聊邊寫
結果還是失敗…現在就想說乾脆不要有省錢的心態
認真的找書來邊看邊學吧,可是,該挑哪一本才好?
希望給點建議吧?
底下順便給出寫失敗的語法,這是chatGPT替我寫的第三版了
目前問題出在按了對應的快速鍵(ctrl+shift+s)
或是在網頁上直接單/雙按滑鼠左鍵或右鍵都無法開出寫便利貼的選單或按鈕
不懂怎麼回事??
// ==UserScript==
// @name 高級隨手貼
// @namespace http://tampermonkey.net/
// @version 0.3
// @description 增強的隨手貼功能,支持搜尋和分類
// @author You
// @match *://*/*
// @grant none
// ==/UserScript==
(function() {
'use strict';
// 創建隨手貼按鈕
const button = document.createElement('button');
button.textContent = '隨手貼';
button.style.position = 'fixed';
button.style.top = '10px';
button.style.right = '10px';
button.style.padding = '10px';
button.style.backgroundColor = '#f0f0f0';
button.style.border = '1px solid #ccc';
button.style.borderRadius = '5px';
button.style.cursor = 'pointer';
document.body.appendChild(button);
// 創建便條紙面板
const panel = document.createElement('div');
panel.style.position = 'fixed';
panel.style.top = '50px';
panel.style.right = '10px';
panel.style.width = '250px';
panel.style.maxHeight = '500px';
panel.style.backgroundColor = '#ffffe0';
panel.style.border = '1px solid #ccc';
panel.style.borderRadius = '5px';
panel.style.display = 'none';
panel.style.overflowY = 'auto';
panel.style.zIndex = '1000';
document.body.appendChild(panel);
// 創建搜尋框
const searchBox = document.createElement('input');
searchBox.placeholder = '搜尋便條';
searchBox.style.width = 'calc(100% - 20px)';
searchBox.style.margin = '10px';
searchBox.style.padding = '5px';
panel.appendChild(searchBox);
// 創建分類選擇器
const categorySelect = document.createElement('select');
categorySelect.style.width = 'calc(100% - 20px)';
categorySelect.style.margin = '10px';
categorySelect.style.padding = '5px';
const defaultOption = document.createElement('option');
defaultOption.textContent = '所有分類';
defaultOption.value = '';
categorySelect.appendChild(defaultOption);
panel.appendChild(categorySelect);
// 創建便條紙容器
const notesContainer = document.createElement('div');
panel.appendChild(notesContainer);
// 顯示或隱藏面板的函數
function togglePanel() {
panel.style.display = panel.style.display === 'none' ? 'block' :
'none';
if (panel.style.display === 'block') {
loadNotes();
}
}
// 綁定按鈕點擊事件
button.addEventListener('click', togglePanel);
// 鍵盤快捷鍵設置
document.addEventListener('keydown', (event) => {
// Ctrl + Shift + S
if (event.ctrlKey && event.shiftKey && event.key === 'S') {
togglePanel();
event.preventDefault(); // 防止默認行為(例如瀏覽器快捷鍵)
}
});
// 加載便條紙
function loadNotes() {
console.log('加載便條紙'); // 確認加載便條紙
notesContainer.innerHTML = '';
const categories = JSON.parse(localStorage.getItem('noteCategories')
|| '{}');
const notes = JSON.parse(localStorage.getItem('stickyNotes') || '[]'); const selectedCategory = categorySelect.value;
notes.forEach(note => {
if (selectedCategory === '' || note.category ===
selectedCategory) {
const noteElement = document.createElement('div');
noteElement.style.padding = '10px';
noteElement.style.border = '1px solid #ccc';
noteElement.style.borderRadius = '5px';
noteElement.style.marginBottom = '10px';
noteElement.style.backgroundColor = '#fff';
const title = document.createElement('h4');
title.textContent = note.title;
noteElement.appendChild(title);
const content = document.createElement('p');
content.textContent = note.content;
noteElement.appendChild(content);
notesContainer.appendChild(noteElement);
}
});
}
})();
--
直接去找extension就好了 幹嘛自己寫=.=
Note Anywhere:
你連基本原理都沒搞懂 別寫這個吧
便利貼的功能是什麼?要記多久?
tampermonkey的原理是在既有網頁上執行js
也就是說你執行的程式依然是網頁的一部份
你的便利貼就只是某個網站的一個小程式
所以你這樣做無法跨網站存取
更慘的是你存在localstorage裡
如果那個網站執行了一個程式把它清掉...
你的便利貼就沒了
你該做的是寫extension吧
但這種東西一定一堆了 找別人寫的來用就好
你可以用ChatGPT或搜別人的腳本
27
[討論] 筆試用手機查算是作弊嗎?大家安安 強者我朋友 去面試某家公司的時候筆試用手機查 內容大概是考一些該語言的觀念問題 以C++舉例來說就是:const關鍵字的作用10
Re: [閒聊] 來統計一下PS4/PS5在板上的佔有率幫忙樓主用簡單的js跑一下 結果如下: ps5 總共有 644 台 ps4 總共有 676 台 推文總計 ps5 佔有比率48.78787878787879%9
Re: [心得] 2022 年末面試心得這篇提到的有: 廣達、連發科、彩富、連宇、神準、優達、舜聯、緯穎、IGS(鈊象) 職位都是工程師 (RD) ---廣達--- Automotive software 先發個線上問卷回答,先做完後開始面談 問履歷上面的經驗、求學經驗、細節,想要找的工作類型,與職缺相關的專題7
Re: [Vtub] Vedal罕見被自己的AI女兒neuro罵到破防借個推文的圖 YanderDev的程式碼 請問這個正常來說是怎麼寫啊? switch case?6
Re: [閒聊] 修改KKTV的字幕樣式/大小感謝n大設計的css樣式 讓小弟在看KKTV的時候 視覺體驗上獲得極大的改善! 小弟也來獻醜一下 提供個人喜歡的樣式設計6
[軟體] Safari term.ptt自動登入及一些軟體分享剛入手Macbook,分享順便記錄一下方便之後重灌 1.HomeBrew 2.alt-tab 就字面上的東西,mac內建的用不習慣 3.hiddenbar 精簡menubar上的東西 4.kitty terminal,iterm太慢了6
[鐵道] 如何自己做安全的自動登入本內容需要一點點動手能力 用途:製作一個安全的自己登入簽到的腳本。 無須使用網頁瀏覽器,一切功能自動化 除非米哈遊又改動登入頁面之類的 本功能利用使用google的Google App Script 資料來源:hoyolab-auto-sign5
Re: [討論] 寫三元判斷式code review被打槍最近公司讀書會在看 Martin Fowler 的 Refactoring, 大概第九或第十章他有用到三元 sample code 大概是這樣 const price = summer()? summerPrice() : commonPrice(); 然後我們有看這串文章討論了一下3
[心得] Car the Garden的阿凡達相親目前有看到翻譯的是 Kid Milli 權恩妃 Code Const (G)-idle的美延2
Re: [問卦] 如果政府所有的決策都上git會怎樣??merge 的時候有衝突 要解 就會有人跟你說 在那叫什麼 好不容易merge完的時候 pull 回來 build不過的時候 會有人跟你說 不必去查 發起一個大家發起一個issue 也都弄好了 準備提交commit 他就是不理你
爆
Re: [新聞] 《上班不要看》解散3主因!呱吉淚崩揭「1爆
Re: [新聞] 柯文哲舉希特勒為例 影射賴清德為瘋狂領爆
[問卦] 有沒有「我是小生」崩潰的八卦?84
[問卦] 塔綠班是不是在引戰啊?爆
[問卦] 上班不要看倒的原因:資金短缺400萬35
[問卦] 戰時憲兵怎麼知道北漂租房仔住哪?爆
[問卦] 為啥去過上海的都說比台北繁華啊?21
[問卦] 不希望戰爭卻引戰爆
[問卦] 七年級是不是衰到底了?15
[問卦] 如果你是民主總統要怎麼轉獨裁者18
Re: [新聞] 賴清德喊恢復軍審 民眾黨批缺討論:25
[問卦] 85大樓怎麼搞成這樣15
[問卦] 為什麼一個月漲價一次36
[爆卦] 台北市交通局長撕掉公務車的隔熱紙爆
[問卦] 全新的錦衣衛要怎麼取名比較好17
[問卦] 當年嘲笑太陽花的人現在在想什麼?9
[問卦] 一人推薦一個替代役單位給王大陸!73
[問卦] 猜一個人 醫師變獨裁者 之後落跑出國37
[問卦] =.= 為什麼台灣要單方面打破台海現狀?4
[問卦] 台灣誰最期待戰爭?5
[問卦] 公司女同事狂罵Andy跟Josh,解?6
Re: [新聞] 炒股判30年跑了! 鍾文智為何「免科技監8
[問卦] 太陽花:政治冷漠的下場就是被糟糕的人統治40
[問卦] 眾量級真的很紅嗎?4
[問卦] 海的另一邊全是敵人?48
[問卦] 年收近70 人生看不到希望61
[問卦] 核四會重啟嗎?30
[問卦] 台積電會重回1000嗎?52
[問卦] 炸雞排飯這樣多少錢(行天宮附近)62
[問卦] 台灣求戰的人多嗎?