Я сделал первую строку моего сценария содержимого console.log(); заявление, потому что оно, похоже, не загружалось. Сценарий содержимого запускает первую строку, а затем больше ничего не делает. Никаких ошибок не возникает, ни одна другая консоль.log(); операторы обрабатываются, установка операторов наблюдения на вкладке Chrome DevTools Sources для переменных в первой функции никогда не присваивает никаких значений; Я в недоумении от того, что происходит. Я написал расширение в vscode, чтобы оно сообщало мне, допустил ли я какие-либо синтаксические ошибки или что-то, что я пытался сделать, не работало, например, сообщение, передаваемое в/из моего фона.service_worker. Я не пытаюсь ничего импортировать в сценарий контента. Я очень надеюсь, что проблема покажется кому-то, кто читает мой код, бросающейся в глаза, и я смогу получить помощь. Я трачу слишком много времени на вращение колес и не добиваюсь никакого прогресса.
Расширение должно делать две вещи.
Первая: поиск по тексту. document.body DOM для совпадений набора регулярных выражений и замените все найденные совпадения гиперссылкой. Фрагмент HTML-кода — это тестовый файл, в котором большая часть текста должна содержать гиперссылки после пунктов списка.
Второе: добавьте пункт контекстного меню, который отображается при щелчке правой кнопкой мыши по выделенному тексту. позволяет пользователю перейти к форме ServiceNow или запустить поиск ServiceNow.
Функциональность контекстного меню работает без каких-либо проблем, и, как я уже сказал, не возникало никаких ошибок, которые я обнаружил во время мое тестирование на данный момент, поэтому фон.service_worker код надежный, и все импорты также должны быть правильными и работать правильно. Проблема, должно быть, связана со сценарием содержимого.
manifest.json
Test Page for Content Script
Test Page for Content Script
Here are some test cases for the regex patterns:
[list]
[*]KB1234567
[*]INC1234567
[*]RITM1234567
[*]STASK1234567
[*]REQ1234567
[*]CALL1234567
[*]PRB1234567
[*]CHG1234567
[*]SEC1234567
[*]CHAT1234567
[*]192.168.1.1
[*]example@example.com
[*]CO0102A-12345678
[*](123) 456-7890
[*]AB123456789
[/list]
Я сделал первую строку моего сценария содержимого console.log(); заявление, потому что оно, похоже, не загружалось. Сценарий содержимого запускает первую строку, а затем больше ничего не делает. Никаких ошибок не возникает, ни одна другая консоль.log(); операторы обрабатываются, установка операторов наблюдения на вкладке Chrome DevTools Sources для переменных в первой функции никогда не присваивает никаких значений; Я в недоумении от того, что происходит. Я написал расширение в vscode, чтобы оно сообщало мне, допустил ли я какие-либо синтаксические ошибки или что-то, что я пытался сделать, не работало, например, сообщение, передаваемое в/из моего фона.service_worker. Я не пытаюсь ничего импортировать в сценарий контента. Я очень надеюсь, что проблема покажется кому-то, кто читает мой код, бросающейся в глаза, и я смогу получить помощь. Я трачу слишком много времени на вращение колес и не добиваюсь никакого прогресса. Расширение должно делать две вещи. Первая: поиск по тексту. document.body DOM для совпадений набора регулярных выражений и замените все найденные совпадения гиперссылкой. Фрагмент HTML-кода — это тестовый файл, в котором большая часть текста должна содержать гиперссылки после пунктов списка. Второе: добавьте пункт контекстного меню, который отображается при щелчке правой кнопкой мыши по выделенному тексту. позволяет пользователю перейти к форме ServiceNow или запустить поиск ServiceNow. Функциональность контекстного меню работает без каких-либо проблем, и, как я уже сказал, не возникало никаких ошибок, которые я обнаружил во время мое тестирование на данный момент, поэтому фон.service_worker код надежный, и все импорты также должны быть правильными и работать правильно. Проблема, должно быть, связана со сценарием содержимого. manifest.json [code]{ "name": "SearchNow", "description": "Search ServiceNow", "manifest_version": 3, "version": "0.9", "background": { "service_worker": "background-simplified.js", "type": "module" }, "icons": { "16": "icons/SNow16.png", "24": "icons/SNow24.png", "32": "icons/SNow32.png", "48": "icons/SNow48.png", "128": "icons/SNow128.png" }, "action": { "default_icon": { "16": "icons/SNow16.png", "24": "icons/SNow24.png", "32": "icons/SNow32.png" }, "default_title": "Click for advanced search options", "default_popup": "popup.html" }, "content_scripts": [ { "matches": ["http://*/*", "https://*/*", "file:///*/*"], "css": ["styles.css"], "js": ["content-script-hyperlinker.js"], "run_at": "document_end" } ], "options_ui": { "page": "options.html", "open_in_tab": true }, "permissions": [ "activeTab", "alarms", "tabs", "scripting", "storage", "contextMenus" ], "host_permissions": [ "[url=${url}]${match}[/url]`; } ); }); }
// document.addEventListener('DOMContentLoaded', runner); [/code] background-simplified.js [code]import { autoNav } from './handlers/autoNav.js'; import { autoSearch } from './handlers/autoSearch.js'; import { constructUrl } from './utils/urlConstructor.js'; import * as eventListeners from './eventListeners.js'; import * as regexPatterns from './utils/regexPatterns.js';
// Handle context menu item clicks chrome.contextMenus.onClicked.addListener((info, tab) => { if (info.menuItemId === 'autoNav') { autoNav(info, tab); } else if (info.menuItemId === 'autoSearch') { autoSearch(info, tab); } }); [/code]
[code]
Test Page for Content Script
Test Page for Content Script Here are some test cases for the regex patterns: [list] [*]KB1234567 [*]INC1234567 [*]RITM1234567 [*]STASK1234567 [*]REQ1234567 [*]CALL1234567 [*]PRB1234567 [*]CHG1234567 [*]SEC1234567 [*]CHAT1234567 [*]192.168.1.1 [*]example@example.com [*]CO0102A-12345678 [*](123) 456-7890 [*]AB123456789 [/list]
ранее у меня была проблема (расширение Chrome не внесло сценарий во все типы iframes, даже используя Matchoriginasfallback = true), а мое расширение Chrome не загружает его сценарий содержимого, прежде чем родитель получил доступ к iframe (https:...
Это облачная функция, которую я использую для доступа к Firestore
const functions = require( firebase-functions );
const admin = require( firebase-admin );
admin.initializeApp();
exports.getUserCredits = functions.https.onCall(async (data, context)...
Я пытаюсь сохранить какое-то простое состояние моего приложения для Android, используя настройки Jetpack DataStore. Я хочу заполнить значение ключа значением по умолчанию, если еще ничего не было сохранено. Однако когда я пытаюсь выяснить,...
Я пытаюсь сохранить какое-то простое состояние моего приложения для Android, используя настройки Jetpack DataStore. Я хочу заполнить значение ключа значением по умолчанию, если еще ничего не было сохранено. Однако когда я пытаюсь выяснить,...
из my_app.main импортируйте some_function защита test_example(): точка останова() фу = 'бар' некоторая_функция() Тогда pdf остановится в начале some_function вместо foo = 'bar'. Как я могу остановить...