Need help with jQuery

Hi,
I need to add a url to user's borwser's favorites when an icon image is clicked on the page.   I used this script then nothing happened when I clicked on the image. Thank you.  
I was using FF version 48  script from here, https://www.thewebflash.com/how-to-add-a-cross-browser-add-to-favorites-bookmark-button-to-your-website/

jQuery(function($) {
  $('#image-id').click(function(e) {
    var bookmarkURL = window.location.href;
    var bookmarkTitle = document.title;

    if ('addToHomescreen' in window && addToHomescreen.isCompatible) {
      // Mobile browsers
      addToHomescreen({ autostart: false, startDelay: 0 }).show(true);
    } else if (window.sidebar && window.sidebar.addPanel) {
      // Firefox version < 23
      window.sidebar.addPanel(bookmarkTitle, bookmarkURL, '');
    } else if ((window.sidebar && /Firefox/i.test(navigator.userAgent)) || (window.opera && window.print)) {
      // Firefox 23+ and Opera version < 15
      $(this).attr({
        href: bookmarkURL,
        title: bookmarkTitle,
        rel: 'sidebar'
      }).off(e);
      return true;
    } else if (window.external && ('AddFavorite' in window.external)) {
      // IE Favorites
      window.external.AddFavorite(bookmarkURL, bookmarkTitle);
    } else {
      // Other browsers (mainly WebKit & Blink - Safari, Chrome, Opera 15+)
      alert('Press ' + (/Mac/i.test(navigator.userAgent) ? 'Cmd' : 'Ctrl') + '+D to bookmark this page.');
    }

    return false;
  });
});

Open in new window

lapuccaAsked:
Who is Participating?
 
Julian HansenConnect With a Mentor Commented:
The code from the sample link works in FF

<!doctype html>
<html>
<style>
#bookmark-this {
  padding: 5px 10px;
  font-size: 12px;
  background: #f0ad4e;
  color: #fff;
  border: 1px solid #eea236;
  border-radius: 4px;
  text-decoration: none;
  text-shadow: 0 -1px 0 rgba(0, 0, 0, .2);
  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.4), 0 1px 1px rgba(0, 0, 0, 0.2);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.4), 0 1px 1px rgba(0, 0, 0, 0.2);
  -webkit-user-select:none;
  -moz-user-select:none;
  -ms-user-select:none;
  user-select:none;
}

#bookmark-this:hover {
  background: #ec971f;
  border: 1px solid #d58512;
  text-decoration: none;
}

#bookmark-this:active {
  border: 1px solid #d58512;
  -webkit-box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.2);
  box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.2);
  background: #ec971f;
}
</style>
<body>
<a id="bookmark-this" href="#" title="Bookmark This Page">Bookmark This Page</a>
<script src="http://code.jquery.com/jquery.js"></script>
<script>
jQuery(function($) {
  $('#bookmark-this').click(function(e) {
    var bookmarkURL = window.location.href;
    var bookmarkTitle = document.title;

    if ('addToHomescreen' in window && addToHomescreen.isCompatible) {
      // Mobile browsers
      addToHomescreen({ autostart: false, startDelay: 0 }).show(true);
    } else if (window.sidebar && window.sidebar.addPanel) {
      // Firefox version < 23
      window.sidebar.addPanel(bookmarkTitle, bookmarkURL, '');
    } else if ((window.sidebar && /Firefox/i.test(navigator.userAgent)) || (window.opera && window.print)) {
      // Firefox 23+ and Opera version < 15
    console.log('testing');
      $(this).attr({
        href: bookmarkURL,
        title: bookmarkTitle,
        rel: 'sidebar'
      }).off(e);
      return true;
    } else if (window.external && ('AddFavorite' in window.external)) {
      // IE Favorites
      window.external.AddFavorite(bookmarkURL, bookmarkTitle);
    } else {
      // Other browsers (mainly WebKit & Blink - Safari, Chrome, Opera 15+)
      alert('Press ' + (/Mac/i.test(navigator.userAgent) ? 'Cmd' : 'Ctrl') + '+D to bookmark this page.');
    }

    return false;
  });
});
</script>
</html>
</body>

Open in new window

Working sample here
0
 
Michael VasilevskySolutions ArchitectCommented:
You getting an error in the console?

You referencing jQuery?
0
 
Kim WalkerWeb Programmer/TechnicianCommented:
Is image-id the actual id of the image? Can you post the HTML for the image?
0
Free Tool: Subnet Calculator

The subnet calculator helps you design networks by taking an IP address and network mask and returning information such as network, broadcast address, and host range.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

 
Julian HansenCommented:
I used this script then nothing happened when I clicked on the image
What where you expecting to happen?
Look at the code that pertains to FireFox
    } else if ((window.sidebar && /Firefox/i.test(navigator.userAgent)) || (window.opera && window.print)) {
      // Firefox 23+ and Opera version < 15
      $(this).attr({
        href: bookmarkURL,
        title: bookmarkTitle,
        rel: 'sidebar'
      }).off(e);
      return true;

Open in new window

What is that doing? It is adding an HREF, TITLE and REL attribute to the image that was clicked - if you look in the console you will see that it is in fact doing exactly that.

I come back to my opening question - what were you expecting it to do?
0
 
Julian HansenCommented:
You might want to take a read of this article
https://developer.mozilla.org/en-US/Add-ons/Code_snippets/Bookmarks
0
 
lapuccaAuthor Commented:
Hi,
I'm using Visual Studio 2013 asp.net.  Thi.s jQuery code script is embedded in a subpage of asp.net
Should I try putting it in the master page in the <head> section?

I didn't get any error.  Nothing happened when I clicked on the image icon.  

What I need is for the  code to add a url address to user's bookmarks (or favorites) when the image icon is clicked.  

Yes, I have reference to jQuery library.
0
 
lapuccaAuthor Commented:
Or, is it not working because I'm using an image instead of an anchor tag?  If I use an anchor tag, is there an image attribute that I can use for it?
Thank you,
0
 
Julian HansenCommented:
Did you read the information on the link I posted?
I asked some questions in my previous post about your expectations of the code - if you look at the code it does not do what you think.

When you click the image - right click it and then Inspect Element - check to see weather the href / title and rel attributes have been changed - if they have the code is working as expected.

All this does is change the attributes of a link and then removes the event handler on the link
$(this).attr({
        href: bookmarkURL,
        title: bookmarkTitle,
        rel: 'sidebar'
      }).off(e)

Open in new window

I know what you are expecting but I don't think you are going to find a comprehensive solution - the code above does not appear to address your problem.
0
 
lapuccaAuthor Commented:
well, it turned out that this is working in IE but not in my FF browser.
Please see the attached pop up dialog screen shot.  This is the same dialog you would get if you click on the Demo button on the site where I got the code, https://www.thewebflash.com/how-to-add-a-cross-browser-add-to-favorites-bookmark-button-to-your-website/ 

The problem now is how to get it to work in FF.  Nothing happens in FF when I click on the image.
AddFav.jpg
0
 
lapuccaAuthor Commented:
Yes, you're right.  I used a different PC and it's working in FF.  Is it some setting that I need to configure in FF?  Thank you.
0
 
Julian HansenCommented:
Unfortunately I cannot answer that.
0
 
lapuccaAuthor Commented:
Thank you.
0
 
Julian HansenCommented:
You are welcome.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.