首先,这是一个菜鸟问题,因为我对Web开发一无所知。我正在创建一个prestashop网站,并且有一个模块,该模块显示带有该网站的优惠券代码的javascript弹出窗口,当有人单击主窗口中其他位置的特定链接时,我想调用相同的脚本页。我在源代码中搜索了脚本,我认为这是一个:
<script>
var ju_num=(typeof ju_num === 'undefined') ? '58D7493F-E32E-4ADF-AB9B-9DE26502404C' : ju_num;var asset_host='//d2j3qa5nc37287.cloudfront.net/';
(
function() {
setTimeout(
function(){
var s=document.createElement('script');
s.type='text/javascript';
s.async=true;
s.src=asset_host+'coupon_code1.js';
var x=document.getElementsByTagName('script')[0];
x.parentNode.insertBefore(s,x);},500
)
}
)()
</script>
如何在链接单击上调用此脚本?
预先感谢。
编辑 :
有了答案帮助,我将使用以下内容创建一个javascript文件:
function show_coupon() {
var a = document.getElementById("my_coupon");
a.onclick = function(){
var ju_num=(typeof ju_num === 'undefined') ? '58D7493F-E32E-4ADF-AB9B-9DE26502404C' : ju_num;
var asset_host='//d2j3qa5nc37287.cloudfront.net/';
var s=document.createElement('script');
s.type='text/javascript';
s.async=true;
s.src=asset_host+'coupon_code1.js';
var x=document.getElementsByTagName('script')[0];
x.parentNode.insertBefore(s,x);
}
return false;
}
然后我将javascript文件加载到索引中,如下所示:
<script type="text/javascript" src="/js/coupon.js"></script>
最后,我将链接更改为:
<a id="my_coupon" title="" href="javascript:show_coupon()"></a>
但不幸的是,当我单击链接时,什么也没有发生。
编辑2:
我只知道出了什么问题,此脚本只是加载coupon_code1.js中包含的函数,只需要在链接中调用正确的函数即可。问题解决了。
目前的代码无法从其他地方调用,因为变量声明在全局范围内,而其他代码则包装在一个自执行匿名函数中,该匿名函数在任何地方都没有对其的引用。您可以访问全局变量,但该函数不可访问(在初始执行之后)。
在其他地方调用它的最简单方法是将其包装在一个函数声明中,如下所示:
function popup(){
// code here
}
可以从任何地方调用它,例如,通过链接调用它:
// use this before the </body> or wrap in a window.onload handler
document.getElementById("yourlinkid").onclick = popup;
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句