>  기사  >  백엔드 개발  >  XML-OpenSearch 애플리케이션에 대한 자세한 소개

XML-OpenSearch 애플리케이션에 대한 자세한 소개

黄舟
黄舟원래의
2017-03-14 16:09:451846검색

많은 최신 브라우저에는 주소 표시줄 오른쪽에 검색 상자가 있으며, 기본 설치에는 Google 검색 등이 있습니다. 아래와 같이: 실제로 이것은 OpenSearch의 응용 프로그램입니다. 해당 마이크로 형식의 xml 파일을 작성하기만 하면 해당 검색창을 구성할 수 있습니다. OpenSearch 정의 문서를 참조하면 기본적으로 기본적인 xml 형식을 얻을 수 있습니다. 예를 들어 일반적인 검색
많은 최신 브라우저에는 주소 표시줄 오른쪽에 검색창이 있으며 Google 검색이 기본으로 설치되어 있습니다. 아래 그림과 같습니다.
XML-OpenSearch 애플리케이션에 대한 자세한 소개
사실 이는 OpenSearch의 응용 프로그램입니다. 해당 마이크로 형식의 xml 파일을 작성하기만 하면 해당 검색창을 구성할 수 있습니다. OpenSearch 정의 문서를 참조하면 기본적으로 기본 xml 형식을 얻을 수 있습니다. 예를 들어 일반적인 검색 xml 파일은 다음과 같이 지정할 수 있습니다.

<?xml version="1.0" encoding="UTF-8"?>
<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/">
 <InputEncoding>utf-8</InputEncoding>
 <ShortName>ShortName</ShortName>
 <Description>Description</Description>
 <Image type="image/vnd.microsoft.icon">favicon</Image>
 <Url type="text/html" template="http://who.am.i/search?word={searchTerms}"/>
 </OpenSearchDescription>


위의 xml 파일은 고정된 xml 루트를 제외하면 문자 그대로 이해될 수 있습니다. InputEncoding은 웹사이트의 실제 상황에 따라 결정되는 검색 인코딩을 지정합니다. ShortName "Google 검색"과 같은 검색어의 짧은 이름입니다. 설명 "타오바오 쇼핑 검색 - 당신만 생각하지 못하는데 찾을 수 없는 것은 찾을 수 없습니다"와 같은 검색창에 대한 설명입니다. 이미지는 신원 검색에 사용되는 웹페이지의 파비콘과 유사합니다. Url 검색 링크를 지정하는 가장 중요한 매개변수입니다. 여기에는 많은 매개변수가 있으며 일반적으로 검색어를 지정하려면 {searchTerms} 매개변수를 사용합니다. 매개변수 type="text/html"은 반환된 페이지(브라우저가 이 페이지로 이동함)를 나타냅니다. 페이지가 다른 형식인 경우 해당 기본 프로그램(예: type="application/rss xml'은 RSS 리더를 사용하여 열립니다). OpenSearch의 xml 형식 작성이 완료되었습니다. 자세한 내용은 OpenSearch 정의 문서를 참조하세요. 이 검색을 페이지에 추가하려면 기본적으로 두 가지 방법이 있습니다. 페이지의
head에 링크 태그를 추가하고(RSS와 유사) Javascript를 사용하여 추가합니다(예: 트리거할 버튼 정의). . 링크 태그 추가는 매우 간단합니다. 형식은 다음과 같습니다

<link rel="search" type="application/opensearchdescription xml"
 href="http://who.am.i/search.xml" title="ShortName" />

RSS와 유사하며 rel 및 유형이 고정되어 있으며 주로 지정합니다. href(위) xml의 URL 경로의 경우 절대 경로(즉, http://로 시작)와 제목(즉, 검색의 짧은 제목)을 사용하면 안전합니다. 이런 식으로 이 페이지를 익스플로러와 파이어폭스에서 열면 그림과 같이 해당 메뉴를 볼 수 있습니다.

XML-OpenSearch 애플리케이션에 대한 자세한 소개Javascript를 사용하여 추가하는 것이 더 번거롭습니다(아마 현재 상황에서는 훨씬 나아질 것입니다). 우리는 주로 브라우저 확장을 사용합니다. Explorer에는 window.external.AddSearchProvider 매개변수가 있습니다(자세한 문서). 일반적인 호출 방법은 다음과 같습니다.

window.external.AddSearchProvider(&#39;http://who.am.i/search.xml&#39;);

파라미터에 있는 링크가 위 링크의 내용입니다. Firefox에서는 샘플 코드(공식 문서)에 설명된 대로


window.sidebar.addSearchEngine(
 "http://who.am.i/search.xml", /* engine URL */
 "favicon.ico", /* icon URL */
 "ShortName", /* engine name */
 "Description" ); /* category name */

매개변수와 예제를 사용할 수 있습니다. Firefox2 및 이후 버전은 Explorer의 window.external.AddSearchProvider 호출 메서드(세부 사항)와 "호환"되었다는 점은 주목할 가치가 있습니다. 그런 다음 해당 Javascript 코드를 다음과 같이 작성할 수 있습니다(Firefox2 이전 버전과 호환되도록 하려면
else if를 추가하여 판단하세요. 필요하지 않다고 생각되면 추가)

function addEngine(){
 if (window.external || window.external.AddSearchProvider) {
 window.external.AddSearchProvider(&#39;http://who.am.i/search.xml&#39;);
 } else if (window.sidebar && window.sidebar.addSearchEngine) {
 window.sidebar.addSearchEngine(
 "http://who.am.i/search.xml",
 "favicon.ico", /* icon URL */
 "ShortName", /* engine name */
 "Description" ); /* category name */
 }}

이렇게 하면 이
함수를 클릭 이벤트에 등록할 수 있습니다. 링크나 버튼을 클릭하면 그림과 같이 확인 상자가 팝업되며, 사용자가 확인을 클릭하면 브라우저 검색 상자에 추가됩니다.                                                                         ~

위 내용은 XML-OpenSearch 애플리케이션에 대한 자세한 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.