新しいタブを開いたときにブックマークバーからランダムなURLを読み込むためにchrome拡張機能を構築しています。chrome.bookmarksからランダムなURLを取得してnewTabにロードしてください
マイapp.jsは、次のコードを持っています
var bookmarksArray = [];
// Function to traverse the bookmarks tree and save URLs in bookmarksArray
function process_bookmark(bookmarks) {
for (var i =0; i < bookmarks.length; i++) {
var bookmark = bookmarks[i];
if (bookmark.url) {
bookmarksArray.push(bookmark.url);
}
if (bookmark.children) {
process_bookmark(bookmark.children);
}
}
}
// Process all bookmarks of user
function createbookmarksArray(){
chrome.bookmarks.getTree(process_bookmark);
}
// Get random bookmark URL from array and load it
function getBookmark(){
window.location.href = bookmarksArray[Math.floor(Math.random()*bookmarksArray.length)];
}
// All functions to be called on Page Load
function onLoadFunctions(){
createbookmarksArray();
getBookmark();
}
// Function to be run on page load
document.addEventListener("DOMContentLoaded", function(event) {
onLoadFunctions();
});
また、私のmanifest.jsonをはNEWTABとブックマークのパーミッションを要求します。 newtabがindex.htmlに設定され、ap.jsが呼び出されます
この拡張機能を実行すると、「ファイルが見つかりませんでした。移動されたか削除された可能性があります.ERR_FILE_NOT_FOUND」というエラーが表示されます。
window.location.href =bookmarksArray[Math.floor(Math.random()*bookmarksArray.length)];
をコンソールに実行すると、正常に動作します。
私は関数を間違って呼び出していますか?
が鳴ります。なぜ、代わりにランダムなブックマークを使用するだけでなく、index.htmlで新しいタブを開きますか? – Archer
この拡張機能を終了すると、私はそれを持っています。私は頻繁にランダムなブックマークを自分のタブに読み込む必要があります。 –
@Archerどのようにすればいいですか?マニフェストのnewtabパラメータのHTMLページを提供する必要があります.jsonまた、私のHTMLは次のとおりです。 '