mockko / livereload

LiveReload applies CSS/JS changes to Safari or Chrome w/o reloading the page (and autoreloads the page when HTML changes)
http://livereload.com/
1.18k stars 56 forks source link

@import Not working in 1.6 & Safari #68

Open duncanmcalester opened 13 years ago

duncanmcalester commented 13 years ago

I have a "global.css" style sheet that simply has multiple @import statements. I upgraded to 1.6 and the 1.6.1 Safari extension this morning and now Safari doesn't recognize changes to the slave.css files. Chrome will recognize the first time a file is saved, but not any subsequent changes. It's only @import css files; .html, .js and regularly linked .css files all work fine.

In my terminal window when connecting Safari I get: Browser connected. Browser URL: undefined

in Chrome: Browser connected. Browser URL: http://[mysite].dev

NV commented 13 years ago

Thanks for detailed bug report.

What do you see in the Chrome/Safari Console after changing slave.css? Is it something like this?

LiveReload: ["refresh",{"path":"\/Users\/nv\/Sites\/mysite.com\/slave.css","apply_js_live":false,"apply_css_live":true,"apply_images_live":true}]
LiveReload: "slave.css" does not correspond to any stylesheet. Reloading all of them.
Reloading stylesheet: http://mysite.dev/global.css

If so, the problem would be caching.

duncanmcalester commented 13 years ago

I see line one and line three from your example, but not the second line

LiveReload: "slave.css" does not correspond to any stylesheet. Reloading all of them.
duncanmcalester commented 13 years ago

Hi NV,

Just wanted to update my experience in attempting to get 1.6 working the way 1.5 did. I changed the .livereload config file uncommenting this line

config.apply_css_live = false

When refreshing the whole page the CSS works fine. Obviously though it would be nicer to have the no-refresh reload of CSS.

Also I have caching disabled in my browser and have an .htaccess file set to not cache on the server side.

NV commented 13 years ago

I see line one and line three from your example, but not the second line

That's strange. Could you give me a link to the test page?

duncanmcalester commented 13 years ago

I'm actually developing on a local MAMP environment, is there a way I could zip up the documents and send it along?

NV commented 13 years ago

I just reproduced the problem in Safari. Still can't reproduce it in Chrome.

LiveReload 1.5 works well because it reloads the whole page when CSS filename does not equal to any CSS' filenames included via <link>. Version 1.6 with config.apply_css_live = false should work the same for you.

I don't use @import so I haven't noticed the bug. Since many people asking I'll try to fix it.

NV commented 13 years ago

Turns out the problem is in WebKit. https://bugs.webkit.org/show_bug.cgi?id=56981