javascript – 从另一个文件覆盖JS函数
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript – 从另一个文件覆盖JS函数,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1695字,纯文字阅读大概需要3分钟。
内容图文
![javascript – 从另一个文件覆盖JS函数](/upload/InfoBanner/zyjiaocheng/700/e8401497782e4c979e19cfe5120b844b.jpg)
我试图从Bigcartel覆盖JS函数.我无法访问JS文件.
原文是:
updateCart: function(cart) {
$('aside .cart .count, .main header .cart').htmlHighlight(cart.item_count);
return $('aside .cart .total').htmlHighlight(Format.money(cart.total, true, true));
},
而我正试图将其改为:
updateCart: function(cart) {
$('aside .cart .count, .sml .cart, .big .cart .count').htmlHighlight(cart.item_count);
return $('aside .cart .total').htmlHighlight(Format.money(cart.total, true, true));
},
我知道其他人也提出了类似的问题,但在理解如何实现JS时,我是一个完整的菜鸟(我只知道如何通过试验和错误进行调整)
如果有人能够帮助我,那就给我一个很棒的答案.
谢谢,
iWed-
编辑[10.10.13 :: 21:24hr]
为了澄清,我没有直接访问原始JS文件.我只能通过chrome查看它.我只能访问html文件.这是一个大卡特尔主题编辑.
这是使用chrome复制JS的链接.
第216行是代码,如果这有帮助:http://jsfiddle.net/w9GTJ/
解决方法:
编辑:你很幸运.从发布的代码中可以看到updateCart方法是在window.Store全局对象上导出的.解决方案是在加载原始脚本后添加此代码:
window.Store.updateCart = function(cart) {
$('aside .cart .count, .sml .cart, .big .cart .count').htmlHighlight(cart.item_count);
return $('aside .cart .total').htmlHighlight(Format.money(cart.total, true, true));
};
一般情况说明:
在网页中加载的所有脚本都在相同的全局范围内运行,因此覆盖变量就像之后插入脚本一样简单:
<script>
var x = 5; // original script
</script>
<script>
x = 2; // your inserted script
</script>
从它的外观来看,你的函数被定义为一个对象的属性:
var x = {
updateCart : function(cart) {
// stuff
}
}
所以要覆盖它你需要做:
x.updateCart = function(cart) {
// your code
}
最后,如果函数在原始代码中是私有的,则有一种情况是您根本无法覆盖它:
function() {
var x = {
updateCart: function(){}
}
}()
// No way to access x.updateCart here
内容总结
以上是互联网集市为您收集整理的javascript – 从另一个文件覆盖JS函数全部内容,希望文章能够帮你解决javascript – 从另一个文件覆盖JS函数所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。