我正在尝试为浏览器(Firefox或IE或Chrome)开发插件/扩展。这样做的目的是插件/扩展应该识别我自己的一个自定义标签。如何使浏览器识别自定义用户定义的标签?
如:
<myowntag1>
...
<mysubtag1 ... />
...
</myowntag1>
如何使浏览器认识到这一点使用插件/扩展程序?
我正在尝试为浏览器(Firefox或IE或Chrome)开发插件/扩展。这样做的目的是插件/扩展应该识别我自己的一个自定义标签。如何使浏览器识别自定义用户定义的标签?
如:
<myowntag1>
...
<mysubtag1 ... />
...
</myowntag1>
如何使浏览器认识到这一点使用插件/扩展程序?
能够在XML页面中嵌入任意XML(在用户定义的名称空间中),并使名称空间与插件代码相关联的理念是理解此XML词汇表的理想,这是我们许多人的梦想共享。不幸的是,定义HTML5(WHATWG)的小组正在朝相反的方向发展:他们认为这种扩展性不是必需的,而将XML嵌入到HTML中变得越来越困难而不是容易。唯一的例外是像SVG或MathML这样的XML词汇表,由于某种原因,它吸引了WHATWG上的人们并得到他们的支持。
您的问题让我想起了线程How XML used and interpreted? - 您的浏览器对未知标记没有API,但它有一个用于将xml转换为名为XSLT的其他任何内容(包括html)的API。我知道做你想做的事情的唯一方法就是将你的网页编写为XHTML(这是XML,甚至可以使用HTML5)。请注意包含XML声明的第一行位于它的位置,并添加了第二行,其中包含对XSLT样式表的调用。编写这个样式表 - 它必须从XML/XHTML源页面复制除自定义标签以外的所有内容。这些必须转换成所需的HTML输出。该解决方案适用于所有主流浏览器,尽管从开始使用转换后的HTML可能并不复杂。要打开一个新选项卡,您可以使用链接的“目标”属性(测试</a >)(< a href =“http://test.com”target =“newtab”>)。这将根据您的浏览器首选项打开一个新选项卡或窗口。
感谢您的帮助。我现在只在这些线上工作。现在我被要求采用不同的方法。我想要一个可以做这个东西的浏览器的插件/扩展。这个插件/扩展应该能识别我的标签。这件事? – 2011-03-11 07:52:08
而不是定义一个完整的新元素名称,你可以在一个元素上附加一个唯一的id,比如一个span。编写一些javascript来定位具有该id的元素并插入所需的链接元素。大多数浏览器都支持用户为插件定义的javascript。您甚至可以将书签保存为书签,并将其用作“小书签”。 – Andreas 2011-03-11 08:24:00
似乎是一个可行的任务,如果你从JavaScript手动解析标签。这就是Facebook FBML命名空间标签如何实现的例子。
比方说我们有这个网站的自定义标签custom:header
应该变成h1
:
<html xmlns:custom>
<body>
<custom:header text="header text"></custom:header>
</body>
</html>
在内容脚本中,我们可以这样做:
$el = $("custom\\:header");
$el.html($("<h1>").text($el.attr("text")));
(我使用jQuery在这里)。这将会把我们的标签为:
<custom:header text="header text">
<h1>header text</h1>
</custom:header>
您也可以注入您的自定义标签的CSS文件:
custom\:header {
color:red;
}
你如何得到这个在不添加xmlns的普通HTML页面上工作?用fb:button和fb:就像你添加一些javascript来做一些事情来添加这段代码...... what/how?有任何想法吗?我想制作一个公司标签,以便我们的客户可以添加到他们的网站,从而自动为我们的网站调用我们的服务器模块。 – BerggreenDK 2011-06-16 09:56:48
@BerggreenDK对不起,我不明白这个问题。我展示了一个“正常”html的例子,声明xmlns并不是特别的。如果你想创建一个公司标签,你还需要提供一个人们可能会在他们的页面中包含的JavaScript代码,以解析你的自定义标签。 – serg 2011-06-16 15:27:57
@serg是的,好吧,我可以看到jQuery以及它是如何工作的。但是我的意思是,xmlns:custom真的需要吗?如果我有多个?像FB,雅虎,微软,谷歌等在一个页面?我认为他们用一些javascript和iframe来封装html xmlns:自定义事件 – BerggreenDK 2011-06-20 11:39:04
使用它在文档类型引用自定义DTD,如使用mymymy.dtd
的例子:
<!DOCTYPE html SYSTEM "mymymy.dtd">
它上传到服务器之前要注意的利弊
你是什么意思 “用户自定义标签”?你能解释更多关于你想要完成的事情吗? – abraham 2011-03-11 06:53:25
我正在尝试创建自己的XML标记,这将是可点击的,并将带我到多个链接。该项目的领域也涉及网络的语义,但我的问题不在于此。 假设我有一个标签 <位置URL = “第一URL这里”/> <位置URL = “第二URL这里”/> CLICK_HERE 这是XML标记。我想开发一个插件/扩展插件,使浏览器能够识别这种标签,当点击CLICK_HERE时,在两个标签中,子标签中指定的URL都应该打开。 –
2011-03-11 06:55:11
不是这样更容易用纯javascript解决这个问题?当点击div中的链接时,window.open全部为 sibling标签。 – ChrisR 2011-03-11 08:02:08