Javascript prototype.js和其他一些js';冲突
我对javascript知之甚少,也没有任何朋友懂javascript:(这就是我再次向stackoverflow社区寻求帮助的原因。 我的脚本有了一个新模板,但问题是prototype.js上有一些冲突,我的脚本需要使用模板中的一些js,我不知道如何解决这个问题,因为没有注释js,模板无法正常工作,没有prototype js,主js和脚本无法正常工作 我不知道是否有人有时间看一下脚本,也许会给出一个合并它们的解决方案,因为它们都是大脚本,最后我会尝试 我已经上传了一些地方的脚本,并把链接放在这里Javascript prototype.js和其他一些js';冲突,javascript,prototypejs,Javascript,Prototypejs,我对javascript知之甚少,也没有任何朋友懂javascript:(这就是我再次向stackoverflow社区寻求帮助的原因。 我的脚本有了一个新模板,但问题是prototype.js上有一些冲突,我的脚本需要使用模板中的一些js,我不知道如何解决这个问题,因为没有注释js,模板无法正常工作,没有prototype js,主js和脚本无法正常工作 我不知道是否有人有时间看一下脚本,也许会给出一个合并它们的解决方案,因为它们都是大脚本,最后我会尝试 我已经上传了一些地方的脚本,并把链接放在
pastebin.com/n5dnr6i7 here is the main.js required for template
pastebin.com/YisnTuBM comments.js recuired for template
pastebin.com/Cibn1NA2 prototype.js required for main script
在加载原型的情况下,注释和main无法正常工作
提前谢谢你
编辑:我很抱歉在Java中发布此内容,感谢您的更正
编辑2:
问题是web脚本是用IonCube加密的,我只能访问模板html文件,这有点复杂,因为模板用于修改/破解我使用的web脚本,它是一个视频管脚本,例如,我使用的原始web脚本使用video.html中包含的comments.htmle破解/修改是不同的,我必须在新的video.html模板中包含旧的comments.html文件,现在如果我使用jquery-1.9.1,当我单击它时,评论区域框会像应该的那样向下滑动,但我不能对视频进行评论。如果我使用prototype,我可以对视频进行评论,但评论区域框被冻结,当我单击它时,它不会向下滑动,我不知道如何合并它们我已经添加了这些文件,你确定原型是必需的吗?我已经注释掉了它,并用jQuery替换了它(因为注释文件似乎需要它,组合的[main]文件也需要它)
完成此操作后,页面加载没有错误
<!-- prototype -->
<!--script src="http://pastebin.com/raw.php?i=Cibn1NA2"></script-->
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<!--script>jQuery.noConflict();</script-->
<!-- comments -->
<script src="http://pastebin.com/raw.php?i=YisnTuBM"></script>
<!-- main = Modernizr + extras -->
<script src="http://pastebin.com/raw.php?i=n5dnr6i7"></script>
测试:
// local var for jQuery - this might be undefined if jQuery not imported
var jQuery = window["jQuery"];
// if jQuery exists, put into noConflict mode - i.e. return jQuery $ to Prototype $
if (jQuery) jQuery.noConflict();
try {
// addClassName is prototype only, not jquery
$("output").addClassName("prototype");
setOutput("$.addClassName ok");
} catch (e) {
setOutput("Prototype > $.addClassName error: " + e);
}
try {
// addClass is jquery only, not prototype
$("output").addClass("jquery");
setOutput("$.addClass ok");
} catch (e) {
setOutput("jQuery > $.addClass error: " + e);
}
try {
// try using jQuery with the 'full' jQuery name
jQuery("output").addClass("jquery");
setOutput("jQuery.addClass ok");
} catch (e) {
setOutput("jQuery > jQuery.addClass error: " + e);
}
// wrap the code that needs $ to be jQuery $ in a function.
// and pass in jQuery to be aliased as $ within the function.
(function($) {
try {
$("output").addClass("jquery");
setOutput("$.addClass ok when wrapped");
} catch (e) {
setOutput("jQuery > wrapped $.addClass error: " + e);
}
}(jQuery));
包含Prototype和jQuery时的示例输出:
$.addClassName ok
jQuery > $.addClass error: TypeError: $(...).addClass is not a function
jQuery.addClass ok
$.addClass ok when wrapped
我对java了解不多请记住java!=Javascript,它们是不同的星系。你确实对java了解不多。java与Javascript无关。它是一种完全不同的语言。你最好将应用程序的进一步开发交给对这些概念有更好理解的开发人员。你我很可能会发现客户端工作由于缺乏对基本概念的理解而非常令人沮丧,比如java和javascript之间的差异。解释差异,为他们指明学习差异的方向,以及为他们提供学习每种语言的材料,会更有用,dep以他们真正需要的东西结尾。PradeepSimha的评论足以警告OP,他们可能会被语言/名称所混淆。作为一个初学者,要把一切都做好是很困难的……这是所有强大的StackOverflow领主经常忘记的…@Ian我认为你在这里有点戏剧性。与其抱怨其他人没有提供学习材料的链接,也没有解释javascript和java之间的差异,你可以自己做这件事,而不是偏离主题。我编辑了主要帖子,因为我不能发布你的解决方案的评论。我刚刚读了你的编辑,但我仍然找不到你提供的代码中的任何地方在需要原型的地方编辑。对我来说,这一切看起来都像jQuery代码。你有没有打印到控制台上的错误可以分享?我想如果没有显示我使用的完整web脚本,我的问题就没有意义了,所以这给我留下了两个选择,选择破解的web版本,使用新模板或我用t付费的原始版本他是我现在拥有的模板。非常感谢您试图帮助我,但我认为从一个问题解决这个问题很复杂,因为我很难制定正确的问题,因为我对javascriptOk了解不多。jQuery确实有一个
noConflict
模式,可以调回$
的原始值(正如我在回答中所暗示的),但要正确使用它,您必须知道在代码中,$
表示jQuery,而$
表示原型。
$.addClassName ok
jQuery > $.addClass error: TypeError: $(...).addClass is not a function
jQuery.addClass ok
$.addClass ok when wrapped