Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537
我們日常的工作和生活中,常常會遇到需要處理各種文件的情況,而文件的數量也可能會很多,這時候找到需要的文件就會變得非常費時。為了方便查看,我們可以將多個PDF文件合并成一個文件,這樣就不用每次都打開多個文件來查看內容,省時省力。那么,如何在線合并PDF文件呢?下面介紹兩種特別實用的方法,讓你輕松實現PDF文件的在線合并。
在前端開發中,JavaScript是不可或缺的一部分,它為網頁帶來了動態交互能力。而字符串拼接作為日常開發中的基礎操作之一,其效率直接影響到用戶體驗和頁面性能。本文旨在探討JavaScript中幾種常見的字符串拼接方法,并通過實例來比較它們的優缺點。
字符串拼接是指將兩個或多個字符串連接成一個新的字符串。JavaScript提供了多種方式進行字符串拼接,包括但不限于使用加號 (+), 模板字符串 (${}$), String.prototype.concat(), Array.prototype.join() 以及第三方庫如 Lodash 的 _.join() 方法。
// 使用加號
let name = "John";
let greeting = "Hello, " + name + "!";
// 使用模板字符串
greeting = `Hello, ${name}!`;
// 使用 concat()
greeting = "Hello, ".concat(name, "!");
// 使用 join()
let parts = ["Hello, ", name, "!"];
greeting = parts.join("");
// 使用 lodash
greeting = _.join(["Hello, ", name, "!"], "");
每種方法在內部實現上有所不同:
假設我們需要生成一個包含用戶信息的歡迎消息,其中包含了用戶名、年齡等信息:
function generateWelcomeMessage(user) {
return `Welcome, ${user.name} (${user.age} years old)!`;
}
const user = { name: "Alice", age: 25 };
console.log(generateWelcomeMessage(user));
在這個例子中,模板字符串提供了最簡潔且易于理解的解決方案。
對于頻繁或大量的字符串拼接操作,推薦使用 join() 方法,因為它避免了創建中間字符串對象,從而提高了性能。
function generateLongMessage(items) {
return items.map(item => `${item.name}: ${item.value}`).join(", ");
}
在循環中使用加號進行拼接會導致性能下降。解決方法是使用 join() 或者數組的 reduce() 方法。
直接拼接可能會導致HTML特殊字符未被轉義的問題。解決方法是在拼接前對特殊字符進行轉義。
字符串拼接是JavaScript中的一項基本操作,選擇合適的拼接方式可以顯著提高代碼的可讀性和性能。隨著ES6及更高版本標準的引入,模板字符串已經成為一種優雅的選擇。未來,我們可以期待更多高效的字符串處理工具和技術的發展。
通過本文的學習,我們不僅掌握了如何有效地拼接字符串,還了解了不同方法背后的原理及其適用場景。這將幫助我們在實際開發中做出更合理的選擇。
之前的稍后讀專題中,愛范君介紹了一系列的稍后讀工具,它們具有的標注功能,能夠讓用戶初步整理網頁內容中的有效信息——不過,這些標注都是建立在提取后的正文內容之上,因而只適用于能夠提取到有效內容的網頁,具有較大的局限性。
對原始網頁直接進行標注則顯然不需要考慮對各種網頁復雜的適配問題。電腦端如 Chrome,Edge 等瀏覽器擁有各種類型的強大插件。Hypothesis 便是一款能直接在網頁上進行標注的強大插件,關于它的具體使用方法可以在我們之前的文章中查看。
▲ Hypothesis 插件
iPad 相較電腦更為輕巧便攜,且與 Apple Pencil 搭配使其具有了更好的書寫體驗以及對圖像文檔的標注能力。一系列如 Notability,PDF Expert,Procreate 等的優秀軟件覆蓋了筆記,PDF 閱讀,繪畫這些常用的領域,從而讓 iPad 相較于其它同類產品獨特的優勢。
然而我們卻很難在 iPad 上找到一款和 Hypothesis 類似功能的工具。較為出名的 LINER 和 Diigo 在 iPad 上可以使用,然而解鎖其完整版需要高昂的訂閱費。
直到最近,愛范君發現了一款具備網頁標注功能且完全免費的瀏覽器 Command Browser,且可以連接 Notion,OneNote 來同步高亮和批注的內容。
▲ Command Browser 官網
接下來,就跟我們一起了解下 Command Browser。
使用 Command Browser 瀏覽網頁的過程中,選中文本段落即會彈出功能菜單,選擇「Highlight」便可高亮選中的文本。
▲ 選中文本進行高亮
高亮默認的顏色為黃色,在軟件設置里還可以切換為藍色,綠色,紅色和淺黃色。相比在選中文本的彈出菜單里直接進行切換,目前的高亮顏色切換使用步驟較為繁瑣。且在設置里切換高亮顏色后所有網頁標注都會更改為新顏色,從而用戶不能同時使用多種顏色來標記不同內容。
▲ 切換高亮顏色
用戶可以對高亮的文本添加標簽和筆記,記錄的筆記可以選擇保存至自己創建的不同分類中,方便之后的查閱和整理。
▲ 選擇已高亮文本,可以進一步添加筆記和標簽
▲ 對高亮文本添加筆記并保存到建立的不同分類中
▲ 為高亮內容添加標簽
除了支持文本的批注,Command Browser 也支持向圖片和整個網頁添加筆記。添加的筆記同樣也可以到不同分類的筆記本中。
▲ 為圖片添加筆記
▲ 為整個網頁添加筆記
在 Command Browser 中點擊右上角的多功能按鈕并選擇「Highlights」,即可查看到所有高亮的內容,且下方也以標簽的形式進行了歸類。
▲ 查看高亮過的所有內容
在具體的標簽下即可看到所有同一標簽的高亮文本,點擊高亮文本后會直接跳轉至對應的原始網頁段落位置。
▲ 從高亮內容跳轉到原文位置
點擊左上角的書籍圖標或選擇右上角多功能按鈕下的「Journals」子選項都能進入筆記界面。在該界面可以看到之前所有針對文本,圖片和網頁的批注內容。相似的,用戶也能通過點擊日記本中保存的筆記內容跳轉到筆記在原文中所對應的位置。同時,用戶在筆記本中也可以添加獨立于網頁內容的筆記。
▲ 筆記界面,用戶可對自己建立的筆記本進行置頂,默認置頂筆記本為軟件操作演示
在包含高亮文本的網站下,選擇右上角多功能按鈕下的「Share」能夠將高亮過的段落以網頁鏈接的形式分享出去,同時也可以導出高亮段落為指定格式以及分享到其它如 Obsidian,Bear 等筆記應用中。
▲ 分享或導出當前網頁的高亮內容
▲ 以網頁形式分享的高亮文本
▲ 將高亮內容以純文本,Markdown 的形式導出或發送至其它應用中
在筆記界面,點擊筆記本標題下方的「Export」按鈕即可將該筆記本中高亮和批注內容導出到 Obsidian, Bear 等應用中。
▲ 導出某個筆記本中的內容
▲ 將筆記導入至 Obsidian 的效果
除了支持將高亮和筆記導出, Command Browser 還支持將高亮和標注實時同步至 Notion,OneNote 等應用中。高亮內容支持同步的應用有 Notion,Readwise 和 RemNote,綁定高亮內容和圖片的筆記則支持通過 Notion 和 OneNote 同步。
▲ 筆記內容可同步至 Notion 和 OneNote
值得注意的是,高亮內容的同步和筆記的同步是分離的。以和 Notion 同步為例,同步高亮到 Notion 中會生成一個名為「Command」的主文檔,其中的子文檔以網頁文章標題為文件名,文檔內容包括原始鏈接,高亮文本及與之綁定的標簽。
▲ 高亮內容同步至 Notion 中的效果
而同步筆記則會生成名為「Journals」的主文檔,其子文檔為用戶建立的筆記本名稱。筆記的同步存在許多問題,例如在同一個網頁中的筆記不能合并為一份,而是每一個筆記都被單獨的羅列出來,沒有按照網址進行歸類,且不能顯示筆記對應的標簽信息。
▲ Notion 中筆記本目錄下單個筆記是獨立展示的,沒有按照網頁進行分類
Command Browser 支持將網頁和筆記頁面劃分到不同的自定義工作空間,方便用戶根據使用場景快速找到某一類型的網頁。點擊最右上角的圖標可以查看當前工作空間的所有標簽頁,用戶也可以選擇將當前工作空間的網頁移動至其它工作空間。
▲ 移動當前網頁至其它工作空間
Command Browser 支持私密標簽頁,其中的網頁需要經過生物識別解鎖之后才可查看。在應用設置里還可以進一步設置私密標簽頁的鎖定時間。
▲ 生物識別解鎖私密標簽頁
Command Browser 也支持閱讀模式,在閱讀模式下也可進行標注。相比 Safari 的閱讀模式,Command Browser 閱讀模式下網頁圖片的寬度不會延伸至屏幕邊緣,排版體驗較好。
▲ 閱讀模式對比,左圖為 Safari 閱讀模式,右圖為 Command Browser 閱讀模式
作為 iPad 上一款完全免費且具有網頁標注功能的瀏覽器,Command Browser 基礎標注體驗已具有較高的可用性,且使用 Apple Pencil 的「隨手寫」可以方便的為高亮內容添加批注。Command Browser 還提供了豐富的標注導出選項。更進一步地,它還能夠通過 Notion 等應用來實時同步高亮內容和筆記。
然后它現階段并不完美,如高亮顏色的切換步驟較多,且無法實現多種高亮顏色共存;為高亮內容添加標簽時會偶爾出現整個應用卡住,需要重新啟動才能繼續使用;批注筆記在 Notion 中的呈現過于碎片化,沒有如同高亮一樣依據網頁鏈接進行歸類。默認的搜索引擎為谷歌,在國內無法正常使用,需要切換到 Bing 才可進行搜索。
如果你對在 iPad 上對網頁內容進行標注有需求或者感興趣,那么不妨嘗試一下這款應用。
*《Command Browser》在 App Store 得 4.4 分。支持 iPhone,iPad,大小為 48.1MB,免費下載,無內購。
*請認真填寫需求信息,我們會在24小時內與您取得聯系。