Я нашел простое и быстрое решение.
Вся проблема, как отмечали многие, связана с шаблонами рендеринга vue во время выполнения. Для этого он использует функцию eval()
, которая по умолчанию не разрешена chrome из-за расширений в целях безопасности.
Вы можете обойти это, добавив следующую строку в manifest.json
:
"content_security_policy": "script-src 'self' 'unsafe-eval'; object-src 'self'"
Это явно не рекомендуется, так как ваше расширение будет подвержено уязвимости межсайтового скриптинга .
Вместо этого вы можете положиться на визуализацию шаблонов во время компиляции. Таким образом, вам больше не нужно запускать eval()
для ваших шаблонов.
Самый простой способ визуализации шаблонов во время компиляции - установить Vue build
в runtime
при создании проекта с помощью vue init webpack
.
Это вынуждает Vue использовать предварительно скомпилированные шаблоны согласно этой статье: https://vuejsdevelopers.com/2017/05/08/vue-js-chrome-extension/
[1117 ] ... это именно то, что нам нужно, чтобы не использовать функцию eval()
.
как насчет Скидки с цены, которую использует StackOverflow?
http://daringfireball.net/projects/markdown/
от их домашней страницы:
Таким образом “Скидка с цены” является двумя вещами: (1) простой текст, форматирующий синтаксис; и (2) программный инструмент, записанный в Perl, который преобразовывает форматирование простого текста в HTML.
Для стороны сервера можно использовать Скидку с цены. Сетевая библиотека от Milan Negovan: http://www.aspnetresources.com/blog/markdown_announced.aspx
Скидка с цены является большой - очень интуитивный синтаксис, и у Вас есть WMD - этот потрясающий инструмент редактирования, в который я ввожу теперь.
Я хотел бы настоятельно рекомендовать Ткань по Скидке с цены. Textile.NET должен сделать то, что Вы хотите.
Почему? Мне нравится синтаксис Ткани лучше, и я думаю, что для пользователей легче изучить и использовать. Нет никакой единственной большой причины - просто много мелочей.
В Скидке с цены можно сделать *italics*
и **bold**
легко, но синтаксис кажется произвольным. Сравните с эквивалентным синтаксисом в Ткани для _italics_
и *bold*
, который зеркально отражает стандартный способ указать на те модификаторы в форматах обычного текста.
Или для другого примера, в Ткани Вы составляете заказанный список путем добавления префикса каждого объекта '# '. В Markdown Вы снабжаете префиксом его "n". где n является любым целым числом. Markdown пытается подражать, люди синтаксиса используют в плоских текстовых файлах при написании списков (который хорош), но это означает, что этот Markdown кодирует:
3. Test1
2. Test2
1. Test3
Представляется как это:
- Test1
- Test2
- Test3
В основном Markdown просит у Вас число, которое это затем игнорирует. Это кажется неэлегантным мне, хотя я не мог объяснить почему точно.
Ткань также делает таблицы (и пожелайте приятно компактного синтаксиса). Скидка с цены не делает. Существует несколько других деталей, но я думаю, что покрывает большую часть из него.:)