求完整代码。点击商品详情页上的文字后在当前页面之上跳出没有地址栏的小窗,里边显示该商品的二维码

老田 Gary 2018-06-14 12:40:27
因为我是纯小白,就再啰嗦一下,恳请各位大师指点。。

具体是这样,我想在商品详情页写个“”手机分享“。用户点击后就在原页面上边打开一个没有地址栏的小窗口,小窗口里就显示出这个页面的二维码了。二维码的方案我已经找到了,就是如何打开小窗口和如何传递变量一点都不懂。

只要小窗口的地址是这个就可以显示出二维码了“”http://qr.liantu.com/api.php?text=http://abc.com/wapdetail?product_id=888“,关键的问题是,这里边的888是个变量,它的值等于原商品详情页地址栏中的id值,原商品详情页的地址是这样的“http://abc.com/productd?product_id=888”。

哪位小哥哥可以给我一段完整代码呢?

另外,假设我想把这个二维码直接显示在原商品详情页上边,就不用点击了,这样不知是否可行。若可行也请大师指点。

非常感谢!
...全文
753 12 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
老田 Gary 2018-06-14
  • 打赏
  • 举报
回复
哇,是啊,完全好用!非常非常感谢!
2018-06-14
  • 打赏
  • 举报
回复
这个是默认的,下面几行代码就是从url里取id值的
老田 Gary 2018-06-14
  • 打赏
  • 举报
回复
非常非常感谢!我是直接把代码帖进去了,完全可以直接用。只是还没有解决那个id取值和传递的问题。我不太懂代码,但是看了您里边有一句var id = 888,而其实这个888是个变量的。这个商品是888,下一个商品就不知道是什么了,这个数值可以在本页面的地址栏中获得的。可是如何把这个值取出来再放进那个弹出层的地址里边呢呢?
2018-06-14
  • 打赏
  • 举报
回复

<button type="button" id="btnShare">手机分享</button>
<script type="text/javascript">
function share_on_click(){
    var btn = document.getElementById("btnShare");
	var url = window.location.href;
	var reg = /product_id=(\d+)/i;
	var id = 888;
	if(reg.test(url)){
		id = RegExp.$1;
	}
    btn.onclick = function(){
        var src = "http://qr.liantu.com/api.php?text=http://abc.com/wapdetail?product_id=" + id;
        var div = document.createElement("div");
        div.style.cssText = "position:absolute; width:300px; height:300px; left:50%; top:50%; margin:-150px 0 0 -150px;z-index:999";
        div.innerHTML = "<img src='" + src + "' title='点击关闭'/>";
        document.body.appendChild(div);
		btn.style.display = "none";
        div.onclick = function(){
			btn.style.display = "block";
            document.body.removeChild(div);
        };
    };
}
if(document.addEventListener){
	window.addEventListener('load', share_on_click, false);
}else{ 
	window.attachEvent('onload', share_on_click);
}
</script>

老田 Gary 2018-06-14
  • 打赏
  • 举报
回复
刚才在网上四处找,最后插入的代码是这样的: <body> <button type="button" id="btnShare">手机分享</button> </body> <script type="text/javascript"> window.onload = function(){ var btn = document.getElementById("btnShare"); btn.onclick = function(){ var src = "http://qr.liantu.com/api.php?text=http://www.abc.com/wapdetail?product_id=888"; var div = document.createElement("div"); div.style.cssText = "position:absolute; width:300px; height:300px; left:50%; top:50%; margin:-150px 0 0 -150px;"; div.style.zIndex = 999999 div.innerHTML = "<img src='" + src + "' title='点击关闭'/>"; document.body.appendChild(div); div.onclick = function(){ document.body.removeChild(div); }; }; }; </script> 现在就是想把那个888换成地址栏中的id值,每个详情页都有独立的id,二维码也是不同的,可是不知如何处理。
老田 Gary 2018-06-14
  • 打赏
  • 举报
回复
有的,每个商品详情页都有这个标签的。详情页的地址是这样的:http://www.abc.com/productd?product_id=888,那个888就是id。因为这个商城是那种SAAS方式交付的网站,我们只能插入一段高级代码,没有办法改后台的代码。自己添加的这个显示二维码的插件只能从当前页面的地址栏中取id值。
2018-06-14
  • 打赏
  • 举报
回复
要看这个系统有没有id这个标签可用,要是没有就要自已改后台代码了
老田 Gary 2018-06-14
  • 打赏
  • 举报
回复
嗯,明白了。是被商品详情给压到下边了,正考虑如何让它在最上层显示呢。。。。。另外也没有看到关闭的开关,明明是看到代码里边有,可是页面上是没有的。。。。可是,还有传递每个详情页的动态id的问题该怎么解决呢?请帮忙。。。
老田 Gary 2018-06-14
  • 打赏
  • 举报
回复
还有。其实我这段代码是插入到现成的商品详情页中的一段。为何单独页面就好用,插入到详情页中间就不好用了呢?点击后什么都没有的。会不会是详情页中的其他代码对此有干扰呢?在我的网站中,是作为一个“高级代码“的控件插入的,这段代码就是高级代码的内容。
老田 Gary 2018-06-14
  • 打赏
  • 举报
回复
基本上好用,只是还要做一点微调。 我的确是非常非常小白的了,我可不是像你们一样的程序猿,我是做业务的。。。买了美橙的商城系统,但是有些功能没有我又非常想用,公司又没有程序员,只能自己一点点学习了。。。。。 还有一个问题,提取动态ID并传递这个怎么解决啊?请老师赐教。 还有这个发帖的验证码,太难识别了。。。。
2018-06-14
  • 打赏
  • 举报
回复

<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8" />
	<title>_</title>
</head>
<body>
	<button type="button" id="btnShare">手机分享</button>
</body>
<script type="text/javascript">
window.onload = function(){
	var btn = document.getElementById("btnShare");
	btn.onclick = function(){
		var src = "http://qr.liantu.com/api.php?text=http://abc.com/wapdetail?product_id=888";
		var div = document.createElement("div");
		div.style.cssText = "position:absolute; width:300px; height:300px; left:50%; top:50%; margin:-150px 0 0 -150px;";
		div.innerHTML = "<img src='" + src + "' title='点击关闭'/>";
		document.body.appendChild(div);
		div.onclick = function(){
			document.body.removeChild(div);
		};
	};
};
</script>
</html>
丰云 2018-06-14
  • 打赏
  • 举报
回复
请不要把弹出层叫做没有地址栏的小窗口。。。。。 看着好别扭。。。。 弹出层的隐藏和显示都不知道,这么简单的事当成一个大问题。。。真够小白的。。。。

87,997

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧