我正在尝试创建一个使用Google Charts QR API生成QR码的非常简单的网站。我正在使用的代码非常简单
<form id="QR" action="http://chart.apis.google.com/chart" target="QRwindow" method="POST">
<h1>QR Code<br/>Generator</h1>
<textarea autofocus name="chl"
onkeypress="if(event.which==13&&!event.shiftKey){document.getElementById('cht').click();event.preventDefault();}"
onkeyup="if(this.value.length>2000) this.value=this.value.substring(0,1500)"></textarea>
<div>QR size (px):</div>
<input type="hidden" name="chld" value="|0"/>
<input type="number" name="chs" value="250" min="50" max="275"/>
<button type="submit" name="cht" id="cht" value="qr">Generate!</button>
</form>
<iframe name="QRwindow" id="QRwindow" width="275" height="275" frameborder="0" src="http://chart.apis.google.com/chart?chld=|0&chs=250&cht=qr&chl=Foo%20Bar"></iframe>
我想要做的是添加一个按钮,自动让用户使用以下网址添加搜索引擎:
http://chart.apis.google.com/chart?chld=|0&chs=250&cht=qr&chl=%s
但我找不到任何方法为用户自动添加搜索引擎。我当然明白这可能是一个安全风险,但也有可能为mailto:
添加处理程序gmail,所以我想象一种类似的浏览器设置,如添加搜索引擎是可能的(也是用户的确认)。这有可能吗?
答案 0 :(得分:2)
您可以通过使用搜索引擎信息创建xml文档来执行此操作,并将其添加到:
window.external.AddSearchProvider('/linktoyourxmldoc.xml')
您的XML应具有以下属性:
<?xml version='1.0' encoding='UTF-8'?>
<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/">
<ShortName>QR creator</ShortName>
<Description>Create a QR code.</Description>
<Tags>qr</Tags>
<Contact>youremail@email.com</Contact>
<Url type="text/html" template="http://chart.apis.google.com/chart?chld=|0&chs=250&cht=qr&chl={searchTerms}"/>
</OpenSearchDescription>
我还没有将它用于chrome。
编辑:
它不起作用,你需要改变&amp;签到&
。
这完全符合opensearch standard。 this页面上有更多搜索选项和信息。
我不知道为什么它不能用于chrome,因为this文档声明它也适用于chrome。
您还可以seems直接在标题中添加一个链接:
<link rel="search" type="application/opensearchdescription+xml" href="/linktoyourxmldoc.xml" title="MySite Search" />