Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.
I have got it working on Mojave. download the Archive zip from the post above, move the weatherParser.js to System/Library/WidgetResources/.parsers Leave the Weather widget that came with Mojave in place
(Library/Widgets) no need to replace it with the one in the Archive folder. Restart your Mac, open Dashboard you may find that your existing weather widgets are reporting weather for a different location, click on the minus button to remove your existing weather widget display, then click on the plus button to open another and then input the location of your choosing.
 
I have got it working on Mojave. download the Archive zip from the post above, move the weatherParser.js to System/Library/WidgetResources/.parsers Leave the Weather widget that came with Mojave in place
(Library/Widgets) no need to replace it with the one in the Archive folder. Restart your Mac, open Dashboard you may find that your existing weather widgets are reporting weather for a different location, click on the minus button to remove your existing weather widget display, then click on the plus button to open another and then input the location of your choosing.
This is promising, I have two cities now but no long range forecast!
 
Last edited:
This is great! Worked for me on 10.10.5 Yosemite. Just replaced the parser file with the stock OS weather widget. Thank you for the fix!
 
A bit off-topic but could someone upload the movies (and parser for it?) widget from High Sierra or something? The one on Snow Leopard hasn't worked for years.
 
A bit off-topic but could someone upload the movies (and parser for it?) widget from High Sierra or something? The one on Snow Leopard hasn't worked for years.
If I did this right, the Movies widget and parser file from Mountain Lion.
[doublepost=1563377515][/doublepost]FWIW, I've got a five day forecast in the Weather widget in Mojave - sixth day not showing up. Used L Caputo's method (Thanks!) and got one day showing in the forecast. Went back and entered several different cities and each time another day would show up. This worked on supported and unsupported Macs under Mojave.
 

Attachments

  • movieswidget.zip
    2.4 MB · Views: 368
  • Like
Reactions: Princess Cake
If I did this right, the Movies widget and parser file from Mountain Lion.

Thanks a bunch! Dashboard is running tip-top for me again on Snow Leopard! ^.^ In your face, Apple!

Screen-shot-2019-07-17-at-6-03-21-PM.png
 
  • Like
Reactions: Nedstah
im still using 10.11.6 and would aslo love to get weather working... what files should i use or method ?

I wish i could move to 10.14 but my must have software Due reminder version 1.2.6 doenst work in newer os x, and the developer is not even responding when i email :/ and i dont know how to add support or trick newer os x to use that version.. does anyone know a developer that could help me with that, i can pay :)

Btw im not a developer and maybe saying wrong here but why cant someone figure out how to add googles weather API into Apples weather widget... ? i mean there is a lot of people using different api to link such free service so why not doing it that way and not be controlled by stupid Apple that break things that works great and add stupid stuff into the system instead...

If i could build my own os x i would change a lot of stupid things apple have ignored.
 
Got it working again with the Tiger version of the Widget and parser file, per @Raging Dufus' advice! Files attached. *you must disable SIP

I just wanted to share with this group that I am on OS 10.9.5 Mavericks, and this worked for me. Thanks!
[doublepost=1564436686][/doublepost]
I just wanted to share with this group that I am on OS 10.9.5 Mavericks, and this worked for me. Thanks! ADDED NOTE: I did not have to disable SIP.
 
I looked at the contents of the "Tiger" Weather Widget (right-click, Show Package Contents) that was attached earlier and realized Apple had left a parser.js file there. It seems kind of idiotic , but I tried the following two changes ...

1. Opened Weather.html in a text editor (e.g. BBedit, TextWrangler, vi) and replaced the line ...

<script id='apple-replace-script' type='text/javascript' src='file:///System/Library/WidgetResources/.parsers/weatherParser.js' charset='utf-8'></script>

... with ...

<script type='text/javascript' src='parser.js' charset='utf-8'/>

2. Opened parser.js in text editor (e.g. BBedit, TextWrangler, vi) and deleted the last line

return {fetchWeatherData:fetchWeatherData, validateWeatherLocation:validateWeatherLocation, createGoToURL:createGoToURL};

And then I backed up my original /Library/Widgets/Weather.wdgt, just in case, and double-clicked the modified Weather.wdgt to install. So far so good! I didn't like messing with the .parser folder.

For what it's worth, I've attached a version that I made from the Weather.wdgt from my own (old) 10.4 machine ... not that I don't trust downloads off the internet but hey. Your mileage may vary. No guarantees it will work for you - I don't know Javascript so I'm guessing.

Thanks everyone for your help, though, I would have never figured this out by myself.


Update 1: SIGH. It's working on Sierra but not Mojave so far :( Back to the drawing board.
Update 2: New method outlined in a later post. Need to update miniIconTable definition also.
 
Last edited:
I looked at the contents of the "Tiger" Weather Widget (right-click, Show Package Contents) that was attached earlier and realized Apple had left a parser.js file there. It seems kind of idiotic , but I tried the following two changes ...

1. Opened Weather.html in a text editor (e.g. BBedit, TextWrangler, vi) and replaced the line ...

<script id='apple-replace-script' type='text/javascript' src='file:///System/Library/WidgetResources/.parsers/weatherParser.js' charset='utf-8'></script>

... with ...

<script type='text/javascript' src='parser.js' charset='utf-8'/>

2. Opened parser.js in text editor (e.g. BBedit, TextWrangler, vi) and deleted the last line

return {fetchWeatherData:fetchWeatherData, validateWeatherLocation:validateWeatherLocation, createGoToURL:createGoToURL};

And then I backed up my original /Library/Widgets/Weather.wdgt, just in case, and double-clicked the modified Weather.wdgt to install. So far so good! I didn't like messing with the .parser folder.

For what it's worth, I've attached a version that I made from the Weather.wdgt from my own (old) 10.4 machine ... not that I don't trust downloads off the internet but hey. :) Your mileage may vary. No guarantees it will work for you - I don't know Javascript so I'm guessing.

Thanks everyone for your help, though, I would have never figured this out by myself.
Neat! Thanks so much for the contribution. What macOS are you running? I’m still having issues on High Sierra. Gonna try your method.
 
Neat! Thanks so much for the contribution. What macOS are you running? I’m still having issues on High Sierra. Gonna try your method.

Sierra seemed to work, but I just tried on Mojave and nothing showed up. :( Now I'm trying to Frankenstein something between Mojave and Tiger.
 
Okay, I've got something that seems to be working in Mojave. A similar method seemed to work in Sierra. It seems like, in addition to Yahoo going away, Apple changed the names in the miniIconTable, so if you have hazy or partly cloudy or rainy weather in your 6 day forecast, the old Accuweather parser was crashing when it got to setting those icons and before it set the temperatures.

Here are the steps I've taken so far to get something that seems to work for me (your mileage may vary):

Download "Tiger" parser from https://www.apple.com/widgets/weatherParser.js
Delete the last line - return {fetchWeatherData:fetchWeatherData, ...

Make a copy of Mojave's existing Weather.wdgt.
Right-click the new Weather.wdgt and select Show Package Contents.
Copy the downloaded weatherParser.js in the root of the new Weather.wdgt

Edit the new Weather.wdgt/Weather.html
Replace ...
<script id='apple-replace-script' type='text/javascript' src='file:///System/Library/WidgetResources/.parsers/weatherParser.js' charset='utf-8'></script>
... with ...
<script type='text/javascript' src='weatherParser.js' charset='utf-8'></script>

Edit the new Weather.wdgt/Weather.js
Replace the following mini icon definitions ...
miniIconTable["partlycloudy"] = 'Images/Minis/sun-cloud.png';
miniIconTable["haze"] = 'Images/Minis/sun-haze.png';
miniIconTable["rain&clouds"] = 'Images/Minis/cloud-rain.png';
miniIconTable["rain&sun"] = 'Images/Minis/sun-rain.png';
miniIconTable["rain&snow"] = 'Images/Minis/snow-rain.png';

... with the corresponding (or just tack on somewhere) ...
miniIconTable["suncloud"] = 'Images/Minis/sun-cloud.png';
miniIconTable["sunhaze"] = 'Images/Minis/sun-haze.png';
miniIconTable["cloudrain"] = 'Images/Minis/cloud-rain.png';
miniIconTable["sunrain"] = 'Images/Minis/sun-rain.png';
miniIconTable["snowrain"] = 'Images/Minis/snow-rain.png';

Optional. Replace...
function goToURL(event)
{

if(!link)
if (window.widget && link.indexOf("yahoo.com") != -1)
widget.openURL(link);
}
... with ...
function goToURL(event)
{

if (window.widget)
widget.openURL(createGoToURL(postal));
}
After that, you can continue on the full search and destroy mission for yahoo.com; but I haven't finished that .​
Double-click the new Weather.wdgt to install in your local ~/Library/Widgets
Open Dashboard and click the plus sign to add a new Weather widget to the dashboard.
Click the "i" to set the location
Click Done.


NOTE 1: For a couple of minutes, it seemed like Apple was using the old weatherParser.js even though I had replaced it. Not sure what was going on. You might need to go to Activitiy Monitor and quit the Dock process for changes to register (got tired of rebooting)
 

Attachments

  • Mojave Weather.wdgt-mod.zip
    6.7 MB · Views: 483
Last edited:
Okay, I've got something that seems to be working in Mojave. A similar method seemed to work in Sierra. It seems like, in addition to Yahoo going away, Apple changed the names in the miniIconTable, so if you have hazy or partly cloudy or rainy weather in your 6 day forecast, the old Accuweather parser was crashing when it got to setting those icons and before it set the temperatures.

Here are the steps I've taken so far to get something that seems to work for me (your mileage may vary):

Download "Tiger" parser from https://www.apple.com/widgets/weatherParser.js
Delete the last line - return {fetchWeatherData:fetchWeatherData, ...

Make a copy of Mojave's existing Weather.wdgt.
Right-click the new Weather.wdgt and select Show Package Contents.
Copy the downloaded weatherParser.js in the root of the new Weather.wdgt

Edit the new Weather.wdgt/Weather.html
Replace ...
<script id='apple-replace-script' type='text/javascript' src='file:///System/Library/WidgetResources/.parsers/weatherParser.js' charset='utf-8'></script>
... with ...
<script type='text/javascript' src='weatherParser.js' charset='utf-8'></script>

Edit the new Weather.wdgt/Weather.js
Replace the following mini icon definitions ...
miniIconTable["partlycloudy"] = 'Images/Minis/sun-cloud.png';
miniIconTable["haze"] = 'Images/Minis/sun-haze.png';
miniIconTable["rain&clouds"] = 'Images/Minis/cloud-rain.png';
miniIconTable["rain&sun"] = 'Images/Minis/sun-rain.png';
miniIconTable["rain&snow"] = 'Images/Minis/snow-rain.png';

... with the corresponding ...
miniIconTable["suncloud"] = 'Images/Minis/sun-cloud.png';
miniIconTable["sunhaze"] = 'Images/Minis/sun-haze.png';
miniIconTable["cloudrain"] = 'Images/Minis/cloud-rain.png';
miniIconTable["sunrain"] = 'Images/Minis/sun-rain.png';
miniIconTable["snowrain"] = 'Images/Minis/snow-rain.png';

Optional. Replace...
function goToURL(event)
{

if(!link)
if (window.widget && link.indexOf("yahoo.com") != -1)
widget.openURL(link);
}
... with ...
function goToURL(event)
{

if (window.widget)
widget.openURL(createGoToURL(postal));
}
After that, you can continue on the full search and destroy mission for yahoo.com; but I haven't finished that .​
Double-click the new Weather.wdgt to install in your local ~/Library/Widgets
Open Dashboard and click the plus sign to add a new Weather widget to the dashboard.
Click the "i" to set the location
Click Done.


NOTE 1: For a couple of minutes, it seemed like Apple was using the old weatherParser.js even though I had replaced it. Not sure what was going on. You might need to go to Activitiy Monitor and quit the Dock process for changes to register (got tired of rebooting)

Working on Mojave, thanks.
 
Okay, I've got something that seems to be working in Mojave.
NOTE 1: For a couple of minutes, it seemed like Apple was using the old weatherParser.js even though I had replaced it. Not sure what was going on. You might need to go to Activitiy Monitor and quit the Dock process for changes to register (got tired of rebooting)

Worked in High Sierra too. When I did the edits myself I came up with three days of forecast, with your Widget I got it all back, thank you very much for the great post.
 
Having issues with both @kkono's widget uploaded here and with editing my own.

Did any of you modify the original parser in /System/Library/WidgetResources/.parsers/? Wondering if I have messed with that too much. I either get a damaged widget error, or the image attached.

Worked in High Sierra too. When I did the edits myself I came up with three days of forecast, with your Widget I got it all back, thank you very much for the great post.
Okay, I've got something that seems to be working in Mojave. A similar method seemed to work in Sierra. It seems like, in addition to Yahoo going away, Apple changed the names in the miniIconTable, so if you have hazy or partly cloudy or rainy weather in your 6 day forecast, the old Accuweather parser was crashing when it got to setting those icons and before it set the temperatures.

Here are the steps I've taken so far to get something that seems to work for me (your mileage may vary):

Download "Tiger" parser from https://www.apple.com/widgets/weatherParser.js
Delete the last line - return {fetchWeatherData:fetchWeatherData, ...

Make a copy of Mojave's existing Weather.wdgt.
Right-click the new Weather.wdgt and select Show Package Contents.
Copy the downloaded weatherParser.js in the root of the new Weather.wdgt

Edit the new Weather.wdgt/Weather.html
Replace ...

<script id='apple-replace-script' type='text/javascript' src='file:///System/Library/WidgetResources/.parsers/weatherParser.js' charset='utf-8'></script>
... with ...

<script type='text/javascript' src='weatherParser.js' charset='utf-8'></script>

Edit the new Weather.wdgt/Weather.js
Replace the following mini icon definitions ...

miniIconTable["partlycloudy"] = 'Images/Minis/sun-cloud.png';
miniIconTable["haze"] = 'Images/Minis/sun-haze.png';
miniIconTable["rain&clouds"] = 'Images/Minis/cloud-rain.png';
miniIconTable["rain&sun"] = 'Images/Minis/sun-rain.png';
miniIconTable["rain&snow"] = 'Images/Minis/snow-rain.png';

... with the corresponding (or just tack on somewhere) ...

miniIconTable["suncloud"] = 'Images/Minis/sun-cloud.png';
miniIconTable["sunhaze"] = 'Images/Minis/sun-haze.png';
miniIconTable["cloudrain"] = 'Images/Minis/cloud-rain.png';
miniIconTable["sunrain"] = 'Images/Minis/sun-rain.png';
miniIconTable["snowrain"] = 'Images/Minis/snow-rain.png';

Optional. Replace...

function goToURL(event)

{
if(!link)

if (window.widget && link.indexOf("yahoo.com") != -1)

widget.openURL(link);
}
... with ...

function goToURL(event)

{
if (window.widget)

widget.openURL(createGoToURL(postal));
}
After that, you can continue on the full search and destroy mission for yahoo.com; but I haven't finished that .​
Double-click the new Weather.wdgt to install in your local ~/Library/Widgets
Open Dashboard and click the plus sign to add a new Weather widget to the dashboard.
Click the "i" to set the location
Click Done.


NOTE 1: For a couple of minutes, it seemed like Apple was using the old weatherParser.js even though I had replaced it. Not sure what was going on. You might need to go to Activitiy Monitor and quit the Dock process for changes to register (got tired of rebooting)

Working on Mojave, thanks.

Worked in High Sierra too. When I did the edits myself I came up with three days of forecast, with your Widget I got it all back, thank you very much for the great post.
 

Attachments

  • Screen Shot 2019-08-08 at 4.33.31 PM.png
    Screen Shot 2019-08-08 at 4.33.31 PM.png
    26.9 KB · Views: 255
Having issues with both @kkono's widget uploaded here and with editing my own.

Did any of you modify the original parser in /System/Library/WidgetResources/.parsers/? Wondering if I have messed with that too much. I either get a damaged widget error, or the image attached.

I was too scared to mess with the original .parser file. In theory, the zipped version I hacked together just ignores that one. I just install it in my ~/Library/Widgets instead of the machine's /Library/Widgets

I did get something similar to what you were seeing when I was using the "Yahoo" parser with the "Accuweather" Weather.js and (or vice versa) or, if I manually downloaded the weatherParser.js from the web and I forgot to delete the last "return" line. Basically when javascript was bombing out.

Just to try to figure out where you are, can you read the first line of code in your current /System/Library/WidgetResources/.parser/weatherParser.js (i.e. the line under the Copyright notice)? Is it ...

Yahoo: var numRequests = 1;

... or ...

Accuweather: var accuweatherIcons =

... or neither
 
I was too scared to mess with the original .parser file. In theory, the zipped version I hacked together just ignores that one. I just install it in my ~/Library/Widgets instead of the machine's /Library/Widgets

I did get something similar to what you were seeing when I was using the "Yahoo" parser with the "Accuweather" Weather.js and (or vice versa) or, if I manually downloaded the weatherParser.js from the web and I forgot to delete the last "return" line. Basically when javascript was bombing out.

Just to try to figure out where you are, can you read the first line of code in your current /System/Library/WidgetResources/.parser/weatherParser.js (i.e. the line under the Copyright notice)? Is it ...

Yahoo: var numRequests = 1;

... or ...

Accuweather: var accuweatherIcons =

... or neither
accuweatherIcons :)

Ha! I got it working on High Sierra on a different Mac: followed your instructions and restarted. I've got a full 7 day forecast now. Just need to experiment on the other Mac more.

I've got the random characters in this one too though, even though it's working. Did I not close something properly in the HTML file perhaps?
 

Attachments

  • Screen Shot 2019-08-12 at 10.55.52 AM.png
    Screen Shot 2019-08-12 at 10.55.52 AM.png
    6.5 KB · Views: 246
accuweatherIcons :)

I've got the random characters in this one too though, even though it's working. Did I not close something properly in the HTML file perhaps?

My only guess would be the text editor is putting invisible stuff in, maybe? TextWrangler was a good "pure" text editor, if you downloaded it before it got discontinued. I've briefly tried atom.io and brackets.io, but I haven't used them a lot. They seem geared toward html folks.
 
My only guess would be the text editor is putting invisible stuff in, maybe? TextWrangler was a good "pure" text editor, if you downloaded it before it got discontinued. I've briefly tried atom.io and brackets.io, but I haven't used them a lot. They seem geared toward html folks.

BBEdit its replacement works well too, it tells you it is paid program but has never imposed any restriction on using it for me. I just get to see a little Free Mode in the upper right of the program not noticeable unless you look for it. Oh and I fail to see the editing of the file posted being needed, it worked fine for me just as a drop in my ~ folder widgets directory.
 
I managed to fix it by finding the offending line after opening Weather.html in Safari>Develop>Show Web Inspector (which didn't appear in BBEdit or Sublime Text??), then copied and pasted the whole thing back into the original file!
My only guess would be the text editor is putting invisible stuff in, maybe? TextWrangler was a good "pure" text editor, if you downloaded it before it got discontinued. I've briefly tried atom.io and brackets.io, but I haven't used them a lot. They seem geared toward html folks.

BBEdit its replacement works well too, it tells you it is paid program but has never imposed any restriction on using it for me. I just get to see a little Free Mode in the upper right of the program not noticeable unless you look for it. Oh and I fail to see the editing of the file posted being needed, it worked fine for me just as a drop in my ~ folder widgets directory.
 
This is all beyond me. Darned sad. Of course none of my widgets are working anyway. Clocks don't tick, calculator doesn't work, etc. What the hell is Apple doing here? This has been going on for a while.
 
Awesome. Still working in August 2019. Got weather widget working again on a white 2007 Macbook. Downloaded the weather widget and parser files from this thread and replaced mine.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.