我想在“显示QR码”按钮上显示QR码onclick或onmousehover
我还想确保产生并显示QR码的http://www.qrsrc.com的javascript只有当用鼠标点击或悬停“显示QR码”按钮时才会显示或显示QR码。
下面是我用于此的脚本,但它不起作用。任何人都可以告诉我这个脚本有什么问题。
这是Blogger的编码脚本: -
<button onclick="function () {
document.write("<script src=\"http://www.qrsrc.com/qrcode.js?url=http://search.google.androidappania.com/?q=<data:post.title/>&id=<data:post.id/>\" id='qrsrc' > <\/script>");}">Show QR Code</button>
这是在页面上线后转换的脚本: -
<button onclick="function () {
document.write("<script src=\"http://www.qrsrc.com/qrcode.js?url=http://search.google.androidappania.com/?q=Download WebMD Full Apk for Android&id=3384228222355572267\" id='qrsrc' > <\/script>");}">Show QR Code</button>
答案 0 :(得分:1)
如果您尝试将qr代码显示为图像:
<button onclick="
var height=100;
var width=100;
var urltoencode = 'http://search.google.androidappania.com/?q=Download WebMD Full Apk for Android';
document.getElementById('qr').src='https://chart.googleapis.com/chart?cht=qr&chs='+width+'x'+height+'&chl='+escape(urltoencode);"
>Show QR Code</button>
<img id="qr">
或与jQuery相同:
<script src="http://code.jquery.com/jquery-1.10.1.min.js"></script>
<button onclick="
var height=100;
var width=100;
var urltoencode = 'http://search.google.androidappania.com/?q=Download WebMD Full Apk for Android';
$('#qr').attr('src', 'https://chart.googleapis.com/chart?cht=qr&chs='+width+'x'+height+'&chl='+escape(urltoencode));"
>Show QR Code</button>
<img id="qr">
这会在HTML中创建一个按钮和一个隐藏图像。 该脚本定义高度,宽度和“待编码”变量,并找到隐藏的图像,该源将被设置为qr代码(google api)
最后,将鼠标悬停在(+花式淡化)上:
<script src="http://code.jquery.com/jquery-1.10.1.min.js"></script>
<button style="float: left;" id="qrButton">Show QR Code</button>
<img id="qr">
<script>
var height=100;
var width=100;
var urltoencode = 'http://search.google.androidappania.com/?q=Download WebMD Full Apk for Android';
$('#qr').attr('src', 'https://chart.googleapis.com/chart?cht=qr&chs='+width+'x'+height+'&chl='+escape(urltoencode)).hide();
$('#qrButton').mouseenter(function(){
$('#qr').fadeIn("slow");
});
$('#qrButton').mouseleave(function(){
$('#qr').fadeOut("slow");
});
</script>
答案 1 :(得分:0)
从function () {
属性和&#39;}&#39>中删除onclick
在末尾。
当你设置一个内联的事件属性时,你提供代码本身,JavaScript将你的代码包装在一个函数中。所以你这样做:
<button onclick="document.write('<script src=\"http://www.qrsrc.com/qrcode.js?url=http://search.google.androidappania.com/?q=Download WebMD Full Apk for Android&id=3384228222355572267\" id=\"qrsrc\" ><\/script>');">Show QR Code</button>
虽然你最好不要使用document.write
,因为它会消除你在页面中拥有的所有其他标签。
但是如果你坚持使用功能,你可以这样做:
<button onclick="(function(){ document.write('<script src=\"http://www.qrsrc.com/qrcode.js?url=http://search.google.androidappania.com/?q=Download WebMD Full Apk for Android&id=3384228222355572267\" id=\"qrsrc\" ><\/script>'); })();">Show QR Code</button>
答案 2 :(得分:0)
大多数浏览器都不允许document.write
工作,因为它存在安全问题。在XHTML中,它也不起作用。 document.write
会在通话中删除该页面中的所有其他内容,因此这是不好的做法,请勿使用它。请改用element.innerHTML
或element.appendChild
。
答案 3 :(得分:-1)
如果您有jQuery,请改为:
<button onclick='$(this).after(
$("<script src=\"http://www.qrsrc.com/qrcode.js?url=http://search.google.androidappania.com/?q=Download WebMD Full Apk for Android&id=3384228222355572267\" id=\"qrsrc\" />")
);'>Show QR Code</button>