Хромовые шаблоны соответствия URL - PullRequest
1 голос
/ 20 августа 2011

Я не могу получить "?"символ, чтобы соответствовать вопросительный знак в URL.

То есть

"matches": [ "http://www.google.com/search?* ],

не будет совпадать

"http://www.google.com/search?cx=c&sourceid=chrome&ie=UTF-8&q=asdf"

Также

"matches" : [ "http://www.google.com/search*asdf" ],

не соответствует

"http://www.google.com/search?aq=f&cx=c&sourceid=chrome&ie=UTF-8&q=asdf"

Это привело меня к мысли, что хром ничего не учитывает после "?".Это правильно?

Ответы [ 3 ]

2 голосов
/ 20 августа 2011

Вам необходимо снять вопросительный знак согласно документам :

"matches": [ "http://www.google.com/search* ],

Это также будет соответствовать параметрам запроса.

0 голосов
/ 18 сентября 2017

Как обновление: использование ? в MatchPatterns разрешено. Текущие документы для пути указывают, что

<path> := '/' <any chars>

Где

В разделе пути каждый '*' соответствует 0или более символов.

См. использование в https://github.com/serv-inc/hider/blob/master/addon/manifest.json#L24.

0 голосов
/ 20 августа 2011

Вам нужно будет показать нам код, который вы используете для этого соответствия.Если вы используете функцию поиска строки, которая принимает регулярное выражение, то вам нужно экранировать все символы регулярного выражения, если вы хотите, чтобы их искали как нормальный символ.

Чтобы экранировать символ регулярного выражения, вы должны поставить перед ним обратную косую черту, например:

"matches": [ "http://www.google.com/search\?* ],

Если вы не хотите связываться с регулярными выражениями, вы можете использовать непоиск по регулярному выражению, например .indexOf(), и вам не придется об этом беспокоиться.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...