Я написал расширение Firefox, которое ловит, когда вводится определенный URL-адрес, и делает некоторые вещи. Мое главное приложение запускает Firefox с этим URL. URL содержит конфиденциальную информацию, поэтому я не хочу, чтобы она хранилась в истории.Как можно закладок получить доступ к расширению Firefox (или наоборот)
Меня беспокоит случай, когда расширение не установлено. Если он не установлен и Firefox запускается с чувствительным URL-адресом, он будет храниться в истории, и я ничего не могу с этим поделать. Поэтому моя идея - использовать букмарклет.
Я запустил Firefox с помощью "javascript: window.location.href = 'pleaseinstallthisplugin.html'; sensitiveinfo = 'blahblah'".
Если расширение не установлено, оно будет перенаправлено на страницу, которая сообщит им, чтобы установить его, а конфиденциальная информация не будет сохранена в истории. Если расширение IS установлено, оно будет захватывать информацию в переменной sensitiveinfo и выполнять свою задачу.
Мой вопрос: может ли букмарклет вызывать метод в расширении для передачи конфиденциальной информации (и если да, как) или может ли расширение извлекаться при вызове javascript в букмаркете?
Как можно связать букмарклет и расширение Firefox?
p.s. Альтернативным способом обойти эту ситуацию было бы для моего основного приложения запуск Firefox и общение с расширением с помощью сокетов, но я не хочу этого делать, потому что за эти годы у меня было слишком много проблем с пользователями с сумасшедшими брандмауэрами, блокирующими сокет коммуникации. Я хотел бы сделать все без сокетов, если это возможно.
Хотя вы можете получить доступ к объекту «Компоненты», похоже, что он пытается получить доступ к любому полезному методу/свойству на этом объекте, например классах или QueryInterface(), отклоняет ваше разрешение. Поэтому я думаю, это просто невозможно. – mhenry1384