Some Problems About Jquery Libraries - javascript

Im up with a question..
I have my main file, the index.php, and inside of index im importing jquery 2.0.3.
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>
The main problem is because i have other file in the server, it is called website.php, and inside i have imported jquery 1.8.3.
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
So, if i take off the second librarie, the all site works correctly, but one plugin doesn't work, but if i take out the second librarie, the whole site works on but the other plugin dont!
Sorry for bad english, but the problem is because of the jquery conflict..
I already made some research, and use the jQuery.noConflict(), but still doesn't work!
Thanks in advance!

First the difference between jQuery 1 and 2 is the compatibility with older versions of Internet Explorer. So the best guess is, to use a CURRENT jQuery v1 version (1.11 at the moment).
However jQuery has changed a lot in version 1.9 which is probably the reason your old plugin fails if you remove 1.8. The only viable solution would be to update that plugin or change to another one if yours is not available anymore.
It is NEVER a good idea to use two versions of the same library in one project.

Use Jquery migrate plugin and migrate to 2.0.3 and then you can remove jquery 1.8.3.
Heres the link for migration
its very simple and easy

Related

Competing JQuery Versions - Unknown Loadorder and JQuery.noConflict()

I have a question for you about jQuery.noConflict.
First of all - I did some research on what
jQuery.noConflict(true)
is, my question is related to this closely. So far I have found no answer that I was able to apply to my case, so if the answer is obvious and slipped my mind I apologize in advance.
The problem:
I am currently trying to solve a problem for a very large JS application. The JS application runs on a SAMSUNG browser (based on Orsay), which in turn runs on specific SAMSUNG displays.
To use display functions it is required to include:
<!-- TODO : Common API -->
<script type="text/javascript" language="javascript" src="$MANAGER_WIDGET/Common/API/Widget.js"></script>
<script type="text/javascript" language="javascript" src="$MANAGER_WIDGET/Common/API/TVKeyValue.js"></script>
<script type='text/javascript' src='$MANAGER_WIDGET/Common/af/2.0.0/loader.js'></script>
<script type='text/javascript' src='$MANAGER_WIDGET/Common/API/Plugin.js'></script>
Also to use Deferred objects within the code jQuery 1.9.1 is included:
<script type='text/javascript' src='app/javascript/jquery-1.9.1.js' ></script>
My problem arises from the fact, that the SAMSUNG APIs apparently load whatever it is they are loading in the display's backend, however one of the things they load is their own jQuery version, which is 1.4.2.
The situation is such that I cannot say which version will be loaded at what point. I can start up the display five times having done no changes to the code and will get two times 1.4.2 and three times 1.9.1 or once 1.4.2 and four times 1.9.1 or any other possible order. I suspect this being due to the display's API able to run multithreading, so that the JS application and the API run independently from one another.
So I took a look at the noConflict method, however am unsure how to go about this problem using it.
As said, the application is large. It uses jQuery in various places. So doing something like
jQuery1_9_1 = $.noConflict(true);
after loading our jQuery version is rather unfeasible, since this will cost a large amount of time to fix.
However so far I have found no way to reliably unbind version 1.4.2 from $, because I do not load it, but the display's API does and it is not clear as to when it is loaded.
I hope this question is not redundant and someone has an idea how to go about it.

Track Javascript on webpage

I'm trying to compare two pages and find out what went wrong https://web.archive.org/web/20141220055016/http://www.kenyabuzz.com/ and http://www.kenyabuzz.com/ on the archived version the dropdown on the top nav works. I don't know where the javascript is that onhover triggers on the ul how can I find it?
You included jQuery 1.11 and it dropped support for things used in the version of fancybox that you are using. Look to see if there is a newer version of fancybox or see if the jQuery migrate plugin will work for you.
on live version you are using new version of jquery which is breaking fancybox TypeError: f.browser is undefined because browser function is depreciated from jquery
You can fix it using jQuery Migrate plugin

jquery version conflict in 1.8 to 1.11

i want to use a plugin in my website. but in website already used 1.8 version of jQuery and my plugin is 1.11 version. now its conflicting. please tell me what should i do. there is some types of error message come up
it says $. something is undefined
and it also says $.() is not a function.
so that it the problem please anybody help me.
You should update your website to use v1.11.2 and only load that version. There are virtually no API-breaking changes from v1.8 to v1.11, the only thing that was actually removed was the toggle(function,function) event hookup (not the toggle show/hide function, which is still there).
There were deprecations:
In 1.8
In 1.9
In 1.10
...so best to check those lists and see if you're using any of those, but they haven't been removed yet (with the exception I mentioned above).
jQuery is mostly backwards compatible. Instead of loading v1.8 and v1.11, just load v1.11. You're plugin will probably still work.

Which JQuery version is suitable for all jquery functions?

I have an issue on using JQuery versions:
Which JQuery version is suitable for all functions of jquery.
In my website designing:
I use the following js version for Contact Form validation:
<script src="http://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js">
</script>
I use the following js version for page smooth scroll:
<script type="text/javascript" src="script/jquery-2.1.1.min.js"></script>
If I use both: The contact form is works, scrolling not works. What shall I do for this?
You just need one of your script statements as they both doing the same thing.
The difference is just if you want to load the script from your server or the google server.
Both versions are doing what you want. I would suggest to use the latest Version. If you want to support older browser (like IE8) you have to use 1.x, otherwise use 2.x
I thank to Stack Overflow Team and all of you first,
I found a solution to solve the issue.
Jquery's .noConflict();
<script type="text/javascript" src="script/jquery-2.1.1.min.js"></script>
<script>
var jq211 = jQuery.noConflict();
</script>
<script type="text/javascript" src="script/jquery-2.0.min.js"></script>
<script>
var jq20 = jQuery.noConflict();
</script>
I followed the function. Now no issues in using the versions of Jquery.
jQuery's APIs change over time, and jQuery is not 100% back compatible. I recommend trying a recent version of jQuery (2.1.x, or 1.11.x if you need to support old browsers) along with jQuery Migrate, which brings some old jQuery features back for migration purposes. If that still doesn't work, update your jQuery plugins and ensure that your third and first party code are both using compatible versions of jQuery.
If you can't fix it otherwise, you should look into using the .noConflict() method. If you do that, you can use several different versions of jQuery in one page.
Please refer to http://forum.jquery.com/topic/multiple-versions-of-jquery-on-the-same-page for more info :)

Drupal - Jquery update version conflicts with lightbox

My drupal version is 6 and currently running jquery version 1.6.2. I am using Lightbox and jquery UI at a time, I think jquery 1.6 not supports UI features. When I update my jquery version, all the links goes to lightbon and showing imagee not found. So how can I implement Jquery upper version and lightbox at a time.
Thanks in advance.
Don't update jQuery library manually, it can cause some js code to crash.
Instead, you can use jQuery Update to do that. It's more secure. This module updates your Drupal 6 jQuery version to v.1.3.2
Hope this helps... Muhammad

Categories

Resources