Можно ли добавить разметку HTML на веб-сайт с помощью расширения Chrome?
Я пытаюсь создать расширение Chrome, которое создает кнопку, похожую на обычную, которая отображает пользовательскую страницу, которую я создал (это уже было сделано и работает для моего расширения), но следующее, что я хочу сделать, и я не уверен, как реализовать, это внедрить разметку в определенную веб-страницу...
Вот мой манифест.json:
{
"manifest_version": 2,
"name": "BattleNetwork",
"description": "Your onestop BattleNetwork info center!",
"version": "1.0",
"browser_action": {
"default_icon": "icon.png",
"default_popup": "popup.html"
},
"permissions": [
"http://robloxdatabase.x10.bz/"
]
}
Довольно стандартный. Я знаю о "сценариях содержимого" ( https://developer.chrome.com/extensions/content_scripts), однако я не уверен, будут ли они работать для того, что я хочу, я хочу добавить следующий HTML-код:
<div class="games-list-container overflow-hidden" id="GamesListContainer20" data-sortfilter="0" data-gamefilter="1" data-minbclevel="0" style="height: 258px; cursor: auto;">
<div class="games-list-header games-filter-changer">
<h2>Battle Network</h2>
</div>
<div class="show-in-multiview-mode-only">
<div class="see-all-button games-filter-changer btn-medium btn-neutral">
See All
</div>
</div>
<div class="games-list">
<div class="show-in-multiview-mode-only">
<div class="horizontally-scrollable" style="height: 168px; left: 0px;">
<div class="game-item">
<div class="always-shown">
<a class="game-item-anchor" rel="external" href="/Battle-Network-Transit-Hub-place?id=147893516">
<span class=""><img class="game-item-image" src="http://t1.rbxcdn.com/d36424dceab83ed45eb7b4fab8e97c15"></span>
<div class="game-name notranslate">Battlenetwork Hub</div>
</a>
<span class="online-player roblox-player-text" style="float: left"></span>
<div class="show-on-hover-only deemphasized hidden">
<div class="creator-name notranslate">
by <a href="/User.aspx?ID=56766433">Battlenetwork</a>
</div>
</div>
</div>
</div>
</div>
<div class="scroller prev hidden">
<div class="arrow">
<img src="http://images.rbxcdn.com/bf9c0660cdeb6283b71aa9237716519e.png">
</div>
</div>
<div class="scroller next">
<div class="arrow">
<img src="http://images.rbxcdn.com/ab6e44a9d9ebfde2244da961275acd06.png">
</div>
</div>
</div>
<div class="ad-spacer"></div>
</div>
</div>
... на вершине разделения с id="GamesListsContainer"
на сайте " http://www.roblox.com/games/ "
Это возможно? Любой совет? Опять же, это расширение Chrome, у меня есть popup.html и прочее.
1 ответ
Однажды я также задал вам вопрос и прочитал исходный код довольно многих CRX. Но в конце концов я обнаружил, что все они используют один и тот же подход: конструируют HTML с помощью JS и внедряют в страницу с помощью content_script. В отличие от "всплывающего окна" для browser_action, кажется, нет способа сохранить HTML в файл.html и включить на страницу.
И еще одна вещь, если вы хотите использовать XHR для запроса.html в вашем CRX, он может потерпеть неудачу из-за политики CORS. CRX имеет специальные источники, такие как chrome-extension: //..., это, очевидно, перекрестное происхождение с http или https.