Search Support

Avoid support scams. We will never ask you to call or text a phone number or share personal information. Please report suspicious activity using the “Report Abuse” option.

Learn More

can't use hyperlinks.

more options

Hyperlinks will not work. If I copy hyperlinks and past into Firefox, they will work. Error console reports the following; Could not read chrome manifest 'file:///C:/Program%20Files%20(x86)/Mozilla%20Thunderbird/chrome.manifest'.

Hyperlinks will not work. If I copy hyperlinks and past into Firefox, they will work. Error console reports the following; Could not read chrome manifest 'file:///C:/Program%20Files%20(x86)/Mozilla%20Thunderbird/chrome.manifest'.

All Replies (12)

more options
more options

Already went there and nothing in there was of any help, hence posting the question. I have updated Firefox and reloaded Thunderbird and that didn't help my problem either. I earlier before the last update saved my bookmarks and uninstalled and reinstalled Firefox and then reloaded my bookmarks, and that didn't help my problem either. I think this happened after an update to 38??.

more options

Copy the link and paste it to your desktop. does it work from there?

The article you were linked to discusses they settings Thunderbird has for handling links, other than that it is all about the operating system.

What that means is it you have deleted any HTTP and HTTPS handlers from the list of helper applications in the attachments and you have checked the hidden settings, then Thunderbird is correctly configured. Your operating system however is not.

more options

Thank you for the info. It has been useful as I wouldn't have thought of that trick. If I save the link from an email, it will not work from the desktop correctly. The saved link will call up the browser but not go to where the link is pointing. This is what the "url" is when I activate the link from the desktop: file:///C:/Users/Jim%2064/Desktop/ctt.htm. This gets me a html list of whats on the website. This may be that the o.s. has a problem, but I have no idea of where to tackle this problem.

more options

just so we can be sure, perhaps drop me an email with the original link in it. Click my name on the web site for an email address.

From your end, right click the link and select save link as to get the link to your desktop. Is the result the same?

more options

If I copy the email to open office writer, the link will work just fine. I have another 32 bit machine (this one is a 64 bit machine), paste the document into it, I must use control click to get it to work, and if I do so it works just fine.

I will forward the email to you.

more options

My interest in the source email is the protocol specified in the source link. What I have seen before is HTTP will work and HTTPS will not or vise versa. Sometime that offers a clue. It is also my intention, and remind me if I forget to reply to you with an email using multiple protocols, just to see if there is only one or two link types affected.

more options

Matt, I have sent you an email. But just fyi neither of the first two links worked at all. If I copy and past into Firefox they work just fine. The last link opened up an email write box. I am going to see if the links work in Open Office. Thanks for the time. Jim

more options

What browser do you use?

more options

I use FireFox and have tried also Iexplore, neither of them will the email link work with. I am aware of the manifest being a red hearing, but it got rid of that listing, hence the nest one that came up (it was up before, but I didn't know it was related to this problem). This is the error when I try and use a link: Timestamp: 29/09/2015 6:30:05 AM Error: NS_ERROR_FILE_NOT_FOUND: Component returned failure code: 0x80520012 (NS_ERROR_FILE_NOT_FOUND) [nsIExternalProtocolService.loadUrl] Source File: chrome://communicator/content/contentAreaClick.js Line: 152 This is a copy of the error message, line 152 is third from bottom.

/** ***** BEGIN LICENSE BLOCK *****

* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 /**
  * Extract the href from the link click event.
  * We look for HTMLAnchorElement, HTMLAreaElement, HTMLLinkElement,
  * HTMLInputElement.form.action, and nested anchor tags.
  *
  * @return href for the url being clicked
  */
 Components.utils.import("resource://gre/modules/PlacesUtils.jsm");
 Components.utils.import("resource://gre/modules/Services.jsm");
 function hRefForClickEvent(aEvent, aDontCheckInputElement)
 {
   var href;
   var isKeyCommand = (aEvent.type == "command");
   var target =
     isKeyCommand ? document.commandDispatcher.focusedElement : aEvent.target;
   if (target instanceof HTMLAnchorElement ||
       target instanceof HTMLAreaElement   ||
       target instanceof HTMLLinkElement)
   {
     if (target.hasAttribute("href"))
       href = target.href;
   }
   else if (target instanceof HTMLImageElement &&
            target.hasAttribute("overflowing"))
   {
     // Return if an image is zoomed, otherwise fall through to see if it has
     // a link node.
     return href;
   }
   else if (!aDontCheckInputElement && target instanceof HTMLInputElement)
   {
     if (target.form && target.form.action)
       href = target.form.action;
   }
   else
   {
     // We may be nested inside of a link node.
     var linkNode = aEvent.originalTarget;
     while (linkNode && !(linkNode instanceof HTMLAnchorElement))
       linkNode = linkNode.parentNode;
     if (linkNode)
       href = linkNode.href;
   }
   return href;
 }

function messagePaneOnResize(aEvent) {

 // Scale any overflowing images, exclude http content.
 let browser = getBrowser();
 let doc = browser && browser.contentDocument ? browser.contentDocument : null;
 if (!doc || doc.URL.startsWith("http") || !doc.images)
   return;
 for (let img of doc.images)
 {
   if (img.clientWidth - doc.body.offsetWidth >= 0 &&
       (img.clientWidth <= img.naturalWidth || !img.naturalWidth))
     img.setAttribute("overflowing", true);
   else
     img.removeAttribute("overflowing");
 }

}

// Called whenever the user clicks in the content area, // should always return true for click to go through. function contentAreaClick(aEvent) {

 let href = hRefForClickEvent(aEvent);
 if (!href && !aEvent.button) {
   var target = aEvent.target;
   // Is this an image that we might want to scale?
   const Ci = Components.interfaces;
   if (target instanceof Ci.nsIImageLoadingContent) {
     // Make sure it loaded successfully. No action if not or a broken link.
     var req = target.getRequest(Ci.nsIImageLoadingContent.CURRENT_REQUEST);
     if (!req || req.imageStatus & Ci.imgIRequest.STATUS_ERROR)
       return false;
     // Is it an image?
     if (target.localName == "img" && target.hasAttribute("overflowing")) {
       if (target.hasAttribute("shrinktofit"))
         // Currently shrunk to fit, so unshrink it.
         target.removeAttribute("shrinktofit");
       else
         // User wants to shrink now.
         target.setAttribute("shrinktofit", true);
       return false;
     }
   }
   return true;
 }
 if (!href || aEvent.button == 2)
   return true;
 // We want all about, http and https links in the message pane to be loaded
 // externally in a browser, therefore we need to detect that here and redirect
 // as necessary.
 let uri = makeURI(href);
 if (Components.classes["@mozilla.org/uriloader/external-protocol-service;1"]
               .getService(Components.interfaces.nsIExternalProtocolService)
               .isExposedProtocol(uri.scheme) &&
     !uri.schemeIs("http") && !uri.schemeIs("https"))
   return true;
 // Now we're here, we know this should be loaded in an external browser, so
 // prevent the default action so we don't try and load it here.
 aEvent.preventDefault();
 // Let the phishing detector check the link.
 if (!gPhishingDetector.warnOnSuspiciousLinkClick(href))
   return false;
 openLinkExternally(href);
 return true;

}

/**

* Forces a url to open in an external application according to the protocol
* service settings.
*
* @param url  A url string or an nsIURI containing the url to open.
*/

function openLinkExternally(url) {

 let uri = url;
 if (!(uri instanceof Components.interfaces.nsIURI))
   uri = Services.io.newURI(url, null, null);
 PlacesUtils.asyncHistory.updatePlaces({
   uri: uri,
   visits:  [{
     visitDate: Date.now() * 1000,
     transitionType: Components.interfaces.nsINavHistoryService.TRANSITION_LINK
   }]
 });
 Components.classes["@mozilla.org/uriloader/external-protocol-service;1"]
           .getService(Components.interfaces.nsIExternalProtocolService)
           .loadUrl(uri);

}

more options

Go into the windows control panel and select Control Panel\All Control Panel Items\Default Programs

select "set program access and defaults and specifically change your web browser to Internet Explorer.

Try Thunderbird.

Change it to Firefox

Try Thunderbird

more options

Matt, I have already done that, I did mention that I had done that in my last email/ message. It made no difference whatsoever. Does the listing of the error console mean anything that my help? Jim