Как выполняется поиск с использованием & ldquo; & rdquo; работать на Google Chrome (и, возможно, на других браузерах) [дублировать]

Попробуйте что-то вроде этого:

  string незаконно = "\" M \ "\\ a / ry / h ** ad: & gt; & gt; a \\ /: *?  \ "|  Ли * тт | ле ||  ягненок.?";  string invalid = new string (Path.GetInvalidFileNameChars ()) + новая строка (Path.GetInvalidPathChars ());  foreach (char c in invalid) {незаконно = незаконно. Замените (c.ToString (), "");  }  

Но я должен согласиться с комментариями, я бы, вероятно, попытался разобраться с источником незаконных путей, вместо того, чтобы пытаться калечить незаконный путь в законный, но, вероятно, непреднамеренный 1.

Изменить: Или потенциально «лучшее» решение, используя Regex's.

  string незаконно = "\" M \ "\\ a / ry / h **  ad: & gt; a \\ /: *? \ "|  Ли * тт | ле ||  ягненок.?";  string regexSearch = новая строка (Path.GetInvalidFileNameChars ()) + новая строка (Path.GetInvalidPathChars ());  Regex r = new Regex (string.Format ("[{0}]", Regex.Escape (regexSearch)));  незаконно = r.Replace (незаконно, "");   

Тем не менее, возникает вопрос, почему вы делаете это в первую очередь.

117
задан John Carter 28 October 2012 в 11:59
поделиться

2 ответа

Chrome обычно обрабатывает это через пользовательские настройки. (через chrome://settings/searchEngines)

Однако, если вы хотите реализовать это специально для своих пользователей, вам нужно добавить OSD (Open Search Description) на ваш сайт.

Использование функции OmniBox [TAB] Google Chrome для / на личном веб-сайте?

Затем вы добавляете этот XML-файл в корень вашего сайта и ссылаетесь на него в своем <head>:

<link rel="search" type="application/opensearchdescription+xml" title="Stack Overflow" href="/opensearch.xml" />

Теперь посетители вашей страницы автоматически добавят информацию о вашем сайте в внутренние настройки Chrome в chrome://settings/searchEngines.

OpenSearchDescription XML Format Example

<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/" xmlns:moz="http://www.mozilla.org/2006/browser/search/">
<ShortName>Your website name (shorter = better)</ShortName>
<Description>
Description about your website search here
</Description>
<InputEncoding>UTF-8</InputEncoding>
<Image width="16" height="16" type="image/x-icon">your site favicon</Image>
<Url type="text/html" method="get" template="http://www.yoursite.com/search/?query={searchTerms}"/>
</OpenSearchDescription>

Важной частью является элемент <url>. {searchTerms} будет заменен на то, что пользователь ищет в omnibar.

Вот ссылка на OpenSearch для получения дополнительной информации.

174
ответ дан Community 15 August 2018 в 14:46
поделиться
  • 1
    Обратите внимание, что в отличие от Firefox, Chrome обнаружит ваше открытое описание поиска, только если вы поместите его в корень вашего сайта . – varepsilon 2 December 2014 в 10:08
  • 2
    есть ли способ получить этот «omnibox-search», работа с firefox? – JinSnow 10 March 2015 в 08:21
  • 3
    Как найти URL-адрес, который ведет непосредственно в поле запроса на целевом сайте? (например, в переводе Google) – JinSnow 7 November 2015 в 07:33
  • 4
    answer for google translate добавить этот вариант в поисковую систему: translate.google.com/?source=osdd#auto|auto|%s – JinSnow 11 November 2015 в 06:55
  • 5
    Будет ли это работать на локальном хосте? Для целей тестирования. – Abdel 6 May 2016 в 15:05

Реализация поддержки omnibox с предложениями по поиску

Ответ, данный @ element119, отлично работает, но вот слегка измененный код для поддержки предложений поиска, а также поддержки Mozilla.

Следуйте ниже, чтобы реализовать поддержку omni box для вашего сайта.

  1. Сохраните следующий код в качестве search.xml
<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/" xmlns:moz="http://www.mozilla.org/2006/browser/search/">
  <script/>
  <ShortName>Site Name</ShortName>
  <Description>Site Description (eg: Search sitename)</Description>
  <InputEncoding>UTF-8</InputEncoding>
  <Image width="16" height="16" type="image/x-icon">Favicon url</Image>
  <Url type="application/x-suggestions+json" method="GET" template="http://suggestqueries.google.com/complete/search?output=firefox&amp;q={searchTerms}" />
  <Url type="text/html" method="GET" template="http://yoursite.com/?s={searchTerms}" />
  <SearchForm>http://yoursite.com/</SearchForm>
</OpenSearchDescription>
  1. Загрузить search.xml к корню вашего сайта.
  2. Добавьте следующий метатег к тегу <head> вашего сайта
<link rel="search" href="http://www.yoursite.com/search.xml" type="application/opensearchdescription+xml" title="You site name"/>

Обязательно замените URL-адреса домена своим доменом .

22
ответ дан Shan Eapen Koshy 15 August 2018 в 14:46
поделиться
  • 1
    Это <SearchForm> или <moz:SearchForm>? Кажется, я не нашел SearchForm в документах OpenSearch и всех других ресурсах, которые я нашел в Интернете, используя <moz:SearchForm>. – Niels R. 22 September 2016 в 07:11
Другие вопросы по тегам:

Похожие вопросы: