3

브라우저 (Firefox 또는 IE 또는 Chrome) 용 플러그인/확장 프로그램을 개발하려고합니다. 이 플러그인의 목적은 플러그인/확장 프로그램이 내 자신의 맞춤 태그 중 하나를 인식해야한다는 것입니다.브라우저에서 사용자 정의 사용자 정의 태그를 인식하게하는 방법은 무엇입니까?

예 :

<myowntag1> 
    ... 
    <mysubtag1 ... /> 
    ... 
</myowntag1> 

가 어떻게 브라우저 플러그인/확장을 사용하여이 문제를 인식하고 내가해야합니까?

+0

당신이 "사용자 정의 태그"를 의미합니까? 당신이 성취하고자하는 것에 대해 더 설명해 주시겠습니까? – abraham

+0

클릭 할 수있는 XML 태그를 만들려고하고 있으며 하나 이상의 링크로 연결됩니다. 프로젝트의 도메인은 또한 웹의 의미를 포함하지만 내 문제는 그것에 관한 것이 아닙니다. 내가 CLICK_HERE 이것은 XML 태그는는 < "여기 1 URL"/ 위치 URL => 태그를 을 있다고 가정합시다. 브라우저에서 이러한 종류의 태그를 인식 할 수있는 플러그인/확장 프로그램을 개발하고 싶습니다. CLICK_HERE을 클릭하면 2 개의 탭에서 하위 태그에 지정된 URL이 열립니다. –

+0

은 쉽지 않습니다. 순수 자바 스크립트로 이것을 해결하기 위해? div의 링크를 클릭하면 window.open이 모두 형제 태그가됩니다. – ChrisR

답변

1

XML 페이지 내에서 임의의 XML을 (사용자 정의 네임 스페이스에) 포함시킬 수 있고이 XML 어휘를 이해하는 플러그인 코드와 어떻게 든 관련되는 네임 스페이스를 가질 수 있다는 생각은 우리 중 많은 사람들이 꿈꾸는 꿈입니다. 공유했습니다. 유감스럽게도 HTML5 (WHATWG)를 정의하는 그룹은 반대 방향으로 이동하고 있습니다. 이러한 종류의 확장 성을 요구 사항으로 보지 않으며, HTML에 XML을 포함시키는 것이 더 쉬워지는 것이 아닙니다. 유일한 예외는 SVG 또는 MathML과 같은 XML 어휘가 어떤 이유로 WHATWG의 사람들에게 호소하고 그들에 의해 보증받습니다.

2

귀하의 질문은 스레드에 나를 상기시켜줍니다. How XML used and interpreted? - 귀하의 브라우저에는 알 수없는 태그에 대한 API가 없지만 xml을 XSLT라는 이름의 다른 어떤 것들 (HTML 포함)로 변환하는 브라우저가 있습니다. 내가 원하는 것을 할 수있는 유일한 방법은 XHTML (XML이고 HTML5에서도 가능)으로 웹 페이지를 작성하는 것입니다. XML 선언을 포함하는 첫 번째 줄이 대신 있고 XSLT 스타일 시트 호출을 포함하는 두 번째 줄을 추가해야합니다. 이 스타일 시트를 작성하십시오 - 자체 정의 된 태그를 제외한 XML/XHTML 소스 페이지의 모든 것을 복사해야합니다. 이들은 원하는 HTML 출력으로 변형되어야합니다. 이 솔루션은 모든 주요 브라우저에서 작동하지만 처음부터 변환 된 HTML을 사용하는 것이 덜 복잡 할 수 있습니다. 새 탭을 열려면 링크의 "target"속성 (< a href = "http://test.com"target = "newtab"> 시험 </a >)을 사용할 수 있습니다. 그러면 브라우저 환경 설정에 따라 새 탭이나 창이 열립니다.

+0

도움에 감사드립니다. 나는 지금 당장이 선들을 연구 중이다. 이제 나는 다른 접근 방식을 사용하도록 요청 받았다. 이 물건을 할 수있는 브라우저에 PLUGIN/EXTENSION을 갖고 싶습니다. 이 플러그인/확장 프로그램은 내 태그를 인식해야합니다. 이것에 뭐라구? –

+0

완전한 새 요소 이름을 정의하는 대신 스팬과 같은 요소에 고유 한 ID를 첨부 할 수 있습니다. 해당 id로 요소를 찾고 원하는 링크 요소를 삽입하는 javascript를 작성하십시오. 대부분의 브라우저 지원 플러그인은 사용자 정의 자바 스크립트입니다. sript를 책갈피로 저장하여 "북마크릿"으로 사용할 수도 있습니다. – Andreas

1

javascript에서 수동으로 태그를 구문 분석 할 수있는 것처럼 보입니다. 이것은 페이스 북의 FBML 네임 스페이스 태그가 어떻게 구현되는지를 보여줍니다. 우리가 할 수있는 콘텐츠 스크립트에서

<html xmlns:custom> 
<body> 
    <custom:header text="header text"></custom:header> 
</body> 
</html> 

:

$el = $("custom\\:header"); 
$el.html($("<h1>").text($el.attr("text"))); 

(내가 여기에 jQuery를 사용하고 있습니다)

우리가이 h1로 설정해야합니다 사용자 정의 태그 custom:header와 HTML을 갖고 있다고 할 수 있습니다.이러한 mymymy.dtd를 사용하여 예로서

custom\:header { 
    color:red; 
} 
+0

xmlns를 추가하지 않는 일반 HTML 페이지에서 어떻게 작동합니까? fb : button 및 fb :이 코드를 추가 할 무언가를 수행하는 자바 스크립트를 추가하는 것처럼 ... what/how? 어떤 아이디어? 고객이 사이트에 추가 할 수있는 회사 태그를 만들어서 자동으로 자사의 웹 사이트 용 서버 모듈을 호출하고 싶습니다. – BerggreenDK

+0

@BerggreenDK 죄송합니다. 질문을 이해하지 못했습니다. "정상적인"html의 예를 보여주었습니다. xmlns가 특별하게 만들지 않는다고 선언했습니다. 회사 태그를 만들려면 사용자가 자신의 페이지에 포함시킬 자바 스크립트를 제공해야합니다. 그러면 내가 보여 준 것처럼 사용자 정의 태그를 구문 분석 할 수 있습니다. – serg

+0

@serg 예, 알았습니다. jQuery와 작동 방식을 볼 수 있습니다. 하지만 내가 말하고자하는 것은 xmlns : custom이 정말로 필요하다는 것입니까? 둘 이상 있으면 어떻게 될까? FB, Yahoo, Microsoft, Google 등이 한 페이지에 있습니까? 나는 그들이 HTML xmlns를 캡슐화하기 위해 iframe을 가지고 있다고 생각한다 : custom things – BerggreenDK

0

를 사용하여 문서 타입에 참조하는 사용자 정의 DTD :

<custom:header text="header text"> 
    <h1>header text</h1> 
</custom:header> 

또한 사용자 정의 태그에 대한 CSS 파일을 삽입 할 수 있습니다이로 우리의 태그를 설정합니다 :

:

<!DOCTYPE html SYSTEM "mymymy.dtd"> 

은 서버에 업로드하기 전에 장단점을 알고 있어야합니다