Full Reset for Internet Explorer 9 – Really


This tweet caused a lot of questions back about what I meant and how I did it. so a blog post.

I have been having a number of problems with IE9, the most annoying of which was that files I downloaded wouldn’t open or run once they were fully downloaded. The dialog at the bottom of the screen simply disappeared after the download with no joy.


For months now, I’ve been choosing Save As… and the clicking on the Open Folder button to run or view the downloaded file. Yeah, I usually live with these things for way too long. And it was really annoying, too.


LastPass keeps all my passwords for me (LastPass is awesome – check it out), so that wasn’t going to be a problem. What I would give up was a pretty significant list of stuff, but I figured it was worth it to get things working right again.

After the reset, somehow Ask.com became my default search engine, which I didn’t realize until I was looking for the original post which recommended that I reset IE9 to solve the problem. Because my history was blown away, I can’t find it again.  When I had looked a few times before, the suggestion had seemed Draconian, but I finally bit the bullet.

In the interest of education, I just did another reset and captured the steps.

Go to Tools / Internet Options / Advanced tab. At the bottom of that tab’s screen, you’ll see this section:


Do a few Hail Marys or whatever it is that you do in these cases, and then push the Reset button anyway. You’ll get this rather intimidating dialog:


Just to that no one can accuse me of trashing their machine (though *someone* probably will anyway), here’s the warning behind that “How does resetting affect my computer?” link:

Reset Internet Explorer 9 settings

You can reset Windows Internet Explorer 9 settings to return them to the state they were in when Internet Explorer was first installed on your computer.

  • Resetting Internet Explorer is not reversible. After a reset, all previous settings are lost and can’t be recovered. Rather than resetting everything, you might want to reset specific settings in the Internet Options dialog box or delete your webpage history.

I figured I was going to go “all in” and I checked the “Delete personal settings” box as well, then clicked Reset once more.

After I recovered from the loud boom and the smoke cleared, I was able to see that all of the steps had completed successfully.


Not only that, but I caught a whiff of that new software smell. IE9 was new again!

My original problem with downloads is fixed, and I swear that IE is running better now. Yes, I have some settings I’ll need to fix, but I’m thinking it was worth it.


But Is jQuery Already Loaded?


JQuery (Photo credit: Wikipedia)

Many end users are taking advantage of all of the goodness that jQuery provides, whether by adding simple effects like a sliding Quick Launch, more sophisticated form enhancements like SPCascadeDropdowns from SPServices, or even writing their own scripts for more complex solutions. More than ever, the distinction between “end user” and “developer” is blurring. IMO, that’s a good thing, but it also introduces complications, of course.

As one of those end users, you owe it to yourself to talk to your SharePoint team to explain what you are doing and to find out if jQuery is already loaded in the environment. In many cases, it will already be loaded in the master page or a page layout so that it is readily available across the Site Collection. The version that is loaded can also have an impact on how plugins function, making some of them effectively useless if there’s a version mismatch.

I know that in some cases, even finding the person who might know what’s loaded in the master page or what the plans may be is well nigh impossible. In those cases, here’s a trick to find out what’s up.

In a Internet Explorer browser window with the page you want to work with open, hit F12 to open the Developer Tools, and go to the Console. The screenshot below is from IE9, where there is a separate Console tab:


If you’re in IE8, the Console is hidden under the Script tab, as below.


If you’re in an older version of IE, well, I don’t have a screenshot for you. You may also not have the Developer Tools available, as it was a separate download with IE7 and below.

In Firefox, you’ll need the firebug add-in. If you have it, you can hit F12 to open Firebug. The Console tab is the first one on the left:


Once you’ve gotten to the Console, wherever it is, type the line I show in each of the screenshots above:


Depending on where you are, you’ll then either hit enter or click on the Run button.

Somewhere on the screen, you’ll see a display like this one, which shows that jQuery version 1.7.1 is loaded…


…or you’ll see something like…


…which tells you that jQuery isn’t loaded at all.

At that point, at least you’ll know what you are dealing with. If the version number isn’t what you need (I sometimes still see jQuery 1.3.2 loaded in a master page, which is ancient) then you’ll need to talk to your SharePoint team about updating it.

Tip ‘o the skimmer to Matt Bramer (@ionline247) for the exact syntax…


…and @BinaryJam for asking the question in the first place!


Enhanced by Zemanta

Problem with jQuery 1.7+ and SPServices

<UPDATE dateTime=”2012-12-04″>

This issue is resolved in v0.7.0+. See this post for more details, including the SPFilterNode function. </UPDATE>

<UPDATE dateTime=”2011-11-15T11:59GMT-1″>

Steve Workman has come up with a much improved way to do the selecting for things like z:row in general – it’s much faster, as Steve’s statistics show – and it also works with jQuery 1.7. I’ve added it to the latest alpha for v1.6.3 (which I will probably rename v0.7.0). More details to come, but this issue is going to be resolved in the upcoming release of SPServices.


Alert reader Dustin Meany pinged me yesterday with a brief email through this blog:

http://bugs.jquery.com/ticket/10377 — I think you should update the documentation for SPServices…

Ah, if the issue were only as small as his email. The ticket on the jQuery site talks about the fact that the notation that I’ve been recommending to parse through the results of a call to the Web Services, like:

$(xData.responseXML).find("[nodeName='z:row']").each(function() {
  // Do something

is no longer valid in jQuery 1.7.

I’ve confirmed in my main test pages that jQuery 1.7 no longer matches on any z:rows in calls to GetListItems. That breaks the majority of the “value added” functions in SPServices. The [nodeName='z:row'] notation has proved highly useful to ensure cross-browser compatibility, and that was the reason I’ve been recommending it in the first place. Because GetListItems uses the somewhat odd namespace of z:row, not all browsers react the same way. Of course GetListItems is the single most used Web Service operation with SPServices. Most of the other operations, which are used less often, do not use this type of namespace.

So the question is how we as a development community handle this. Based on the suggestion in the jQuery ticket, I could implement a function in SPServices itself that probably will solve the issues for the SPServices value-added functions. There are only ten calls in SPServices at the moment that use the [nodeName='z:row'] notation. However, there are thousands of you out there who have your own custom scripts written on top of SPServices that will break if you move to jQuery 1.7+.

The suggestion of switching to the .find("z\\:row, row") notation may work. I’ve quickly tested it with IE9, Chrome 15, Safari 5.1, and Firefox 7.0, all on my Windows 7 laptop. I don’t trust my cursory test, of course; there’s more work to do.

I hold no sway over the jQuery development team. They make their decisions without any knowledge of my little SPServices library or probably even SharePoint.

This, along with the XSL timeout issue I wrote about yesterday, may prove to be a big blow to those of us who choose to develop in SharePoint’s Middle Tier. As the standard bearer for this little movement, I can only do so much to make noise about how important and useful these development techniques are. When these types of roadblocks are put up, there’s little I can do to change things.

Script Error When Editing a Content Editor Web Part (CEWP) in IE8

I’m not a big fan of clunky workarounds, but they do have their place in the world.

This one occurred with a SharePoint 2007 site and IE8. Now I know that by default, this should work fine, but I’m not the first person to run across this issue.

It may happen that if you are running IE8, add a Content Editor Web Part (CEWP) to a page, open the Tool Pane and click on the Rich Text Editor button to edit it, you’ll get a script error. The error will look something like this:

Message: Invalid argument.
Line: 5739
Char: 2
Code: 0
URI: http://[YourWebApplication]/_layouts/1033/HtmlEditor.js

The workaround is to go into Compatibility View. Once the page refreshes in that view, things will function as expected. I don’t know why, and it doesn’t fix the problem, but you can get your work done.  It’ll satisfy my user until we upgrade to SharePoint 2010.

Removing the Dotted Line Around Links In Internet Explorer

Here’s a little mini CSS tip for you.  The little dotted lines around links in Internet Explorer have been bugging me for a long time on a few of the sites I’ve built.  The dotted line shows up when you click on the link.
Dotted Line
I finally Binged it, and found this nice little article entitled Removing Dotted Links.

To get rid of the dotted lines in IE, simply add this to your CSS:

a {
  outline: none;

There are a few other nice tweaks you can do in the article, but this one fixed my annoyance!