save page does not save @import -ed CSS
Categories
(Firefox :: File Handling, defect)
Tracking
()
People
(Reporter: bugzilla, Unassigned)
References
(Depends on 1 open bug, )
Details
From Bugzilla Helper: User-Agent: Mozilla/5.0 (Windows; U; WinNT4.0; en-US; rv:0.9.8+) Gecko/20020217 BuildID: 2002021708 if you save a page completely, you'd expect to see all the CSS that is used to be saved. however, when saving this URL, there is a snippet of code <style type="text/css" media="all">@import "styles/sophisto.css";</style> which the file 'sophisto.css' is never to be found in the directory with files. Reproducible: Always Steps to Reproduce: save the page go to directory miss file
Comment 1•23 years ago
|
||
To adam. This is not a duplicate, I think, but bug 115107 needs to get fixed first.
Comment 2•22 years ago
|
||
Another page with the same problem : http://webnouveau.net/
Comment 4•22 years ago
|
||
*** Bug 162108 has been marked as a duplicate of this bug. ***
Updated•22 years ago
|
Comment 5•22 years ago
|
||
Hasn't the future arrived by now? How hard would this be to fix? Can we please have some attention to this soon?
Comment 6•21 years ago
|
||
*** Bug 202737 has been marked as a duplicate of this bug. ***
Comment 7•21 years ago
|
||
*** Bug 223406 has been marked as a duplicate of this bug. ***
Comment 8•21 years ago
|
||
*** Bug 224586 has been marked as a duplicate of this bug. ***
Comment 9•21 years ago
|
||
*** Bug 225009 has been marked as a duplicate of this bug. ***
Comment 10•20 years ago
|
||
*** Bug 235791 has been marked as a duplicate of this bug. ***
Comment 11•20 years ago
|
||
*** Bug 236069 has been marked as a duplicate of this bug. ***
Comment 12•20 years ago
|
||
Also Save Page As does not flatten the url() items in the CSS file(s). In the HTML, an image element is correctly flattened, e.g. <img src="http://www.somewhere.com/logo.png"> becomes <img src="saveasfolder/logo.png"> In CSS, images should also be flattened - but are not. E.g. body { background-image: url(http://www.somewhere.com/background.png); } should become body { background-image: url(saveasfolder/background.png); } The same applies for the other syntactic variants of the same thing (i.e. with or without ' quote marks, with or without the url() lexical token. Rick :-)
Comment 13•20 years ago
|
||
rick: that's bug 115107, which oddly enough is listed in the dependencies. in the future, please at least check depencies before you comment about something which you think might be related. ideally you'd do a normal bug search....
Comment 14•20 years ago
|
||
*** Bug 237106 has been marked as a duplicate of this bug. ***
Comment 15•20 years ago
|
||
This page is an example of the problem: http://weblogs.mozillazine.org/hyatt/ In that case, it is exacerbated by the fact that a JavaScript script selects the css file to use (after user action). These alternate css files are not saved.
Comment 16•20 years ago
|
||
similar to not saving CSS images: CSS not fixed up by webbrowserpersist (background images not saved) http://bugzilla.mozilla.org/show_bug.cgi?id=115107 there is a work in progress patch there, but hasn't been rolled into nightly build as of last month (may2004)
Comment 17•20 years ago
|
||
*** Bug 252392 has been marked as a duplicate of this bug. ***
Comment 18•20 years ago
|
||
please see also http://bugzilla.mozilla.org/show_bug.cgi?id=115107#c67 voting for both bugs Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.2) Gecko/20040803 MultiZilla/1.6.4.0b Mnenhy/0.6.0.104
Comment 19•20 years ago
|
||
*** Bug 263600 has been marked as a duplicate of this bug. ***
Comment 20•20 years ago
|
||
Sorry for spamming, but would this be really hard to fix? It's really annoying when you want to save a page to: - Open the file - Find where the css file is located - Open the css file and save it - Modify the page to use the local version of the css file 'Save page' does this perfectly when the css file is not @imported, so is it so hard to include the support for the @import tag? It seems so, since this bug was opened more than 2.5 years ago...
Comment 21•20 years ago
|
||
*** Bug 267662 has been marked as a duplicate of this bug. ***
Comment 22•20 years ago
|
||
*** Bug 271626 has been marked as a duplicate of this bug. ***
Comment 23•20 years ago
|
||
*** Bug 273091 has been marked as a duplicate of this bug. ***
Comment 24•20 years ago
|
||
*** Bug 278895 has been marked as a duplicate of this bug. ***
Updated•20 years ago
|
Comment 25•20 years ago
|
||
Sorry for rereporting this bug, but it didn't come up in response to my query. Anyway, it is nigh on three years old, and is simply a matter of resolving the @import tags. Can you fix it?
Comment 26•20 years ago
|
||
you can fix it.
Comment 27•20 years ago
|
||
Please calm down. http://bugzilla.mozilla.org/page.cgi?id=etiquette.html
Comment 28•20 years ago
|
||
*** Bug 281478 has been marked as a duplicate of this bug. ***
Updated•19 years ago
|
Comment 29•19 years ago
|
||
Please don't set blocking flags, other than to request them (?).
Updated•19 years ago
|
Comment 30•19 years ago
|
||
*** Bug 287525 has been marked as a duplicate of this bug. ***
Updated•19 years ago
|
Comment 31•19 years ago
|
||
*** Bug 294724 has been marked as a duplicate of this bug. ***
Comment 32•19 years ago
|
||
*** Bug 297180 has been marked as a duplicate of this bug. ***
Comment 33•19 years ago
|
||
*** Bug 309632 has been marked as a duplicate of this bug. ***
Comment 34•19 years ago
|
||
*** Bug 309737 has been marked as a duplicate of this bug. ***
Comment 35•19 years ago
|
||
*** Bug 314665 has been marked as a duplicate of this bug. ***
Comment 36•19 years ago
|
||
I am putting up a $25 bounty for this bug. This is very basic fdunctionality from an end-users standpoint -- something that people should expect to just work. The average joe isn't going to be able to manually download and modify the css files. Anybody else want to contribute to this? PS: If anybody does fix it, email me your paypal information.
Comment 37•19 years ago
|
||
*** Bug 321349 has been marked as a duplicate of this bug. ***
Comment 38•19 years ago
|
||
*** Bug 326131 has been marked as a duplicate of this bug. ***
Comment 39•18 years ago
|
||
Here's the problem that I've found, and correct me if I'm wrong because I'm not intimately familiar with the code: At the moment, nsWebBrowserPersist.cpp uses a Tree Walker (line 1581) to go through each and every "tag set" (node) and find references to external objects. Since the CSS is not parsed in the DOM, the Tree Walker doesn't find these images and stuff. Therefore, the style sheets also need to be parsed or stuff inside import() and url() would need to be collected as well.
Comment 40•18 years ago
|
||
*** Bug 337114 has been marked as a duplicate of this bug. ***
Comment 41•18 years ago
|
||
*** Bug 343627 has been marked as a duplicate of this bug. ***
Comment 42•18 years ago
|
||
For those of you still interested, I've created an extension to serve as a temporary fix to the problem. < https://addons.mozilla.org/firefox/2925/ > Until I or someone else has the time to re-write nsWebBrowserPersist however, this is the best solution.
Comment 43•18 years ago
|
||
*** Bug 355366 has been marked as a duplicate of this bug. ***
Comment 44•18 years ago
|
||
I'll throw $25 in to that bounty. It's the kind of thing that we need to make "just work". (In reply to comment #36) > I am putting up a $25 bounty for this bug. This is very basic fdunctionality > from an end-users standpoint -- something that people should expect to just > work. The average joe isn't going to be able to manually download and modify > the css files. > > Anybody else want to contribute to this? > > PS: If anybody does fix it, email me your paypal information. >
Comment 46•17 years ago
|
||
I tried to use the "Save Complete" extension mentioned in comment 42, but it garbled the web page on disk in FF 2.0.0.3. I have found that ScrapBook (https://addons.mozilla.org/en-US/firefox/addon/427) works well, and "Mozilla Archive Format" (https://addons.mozilla.org/en-US/firefox/addon/212) looks interesting for Firefox 1.5.x users.
Comment 47•17 years ago
|
||
The issue (and I don't know where I saw this comment in the first place) is that, for this problem to be corrected, either the CSS parser needs to be rewritten to allow its usage by nsWebBrowserPersist for properly parsing and replacing urls in stylesheets, or a simplified CSS parser must be written for nsWebBrowserPersist, which would result in duplicated code. The best solution seems to be a full rewrite of the CSS parser to allow proper search-and-replace for urls in stylesheets, although this will take a lot of work. If someone is willing to mentor me, I have done enough research that I am pretty sure I know what needs to be done. As a side note, the issue in comment 46 with the "Save Complete" extension has been fixed, and although it has problems with a specific time of @import rule, it is a lot better than the save functionality provided by nsWebBrowserPersist. The extension can be found at <https://addons.mozilla.org/en-US/firefox/addon/4723>.
Comment 48•17 years ago
|
||
Stephen: see bug 115107 comment 88 (that suggestion also applies to this bug - the suggested fixup interface could collect the URLs it fixes up and pass them to StoreURI, thus causing the URIs referenced from @import to be saved). I actually half-implemented that suggestion and it seemed to work fine before it fell off my plate :( I can help you with the easier things, as time permits, if you take that approach.
Comment 49•17 years ago
|
||
The issue that I have with working through the DOM is that, currently, anything modified by Firefox before being saved is "corrected". If the page had html like <a href=http://www.google.com>google.com</a>, the address is now enclosed in quotes. Although this is perfectly acceptable for those simply trying to save a page for later, it is not acceptable for web-developers, who would prefer that nothing was changed in their code before being saved. This is why I prefer the, albeit less effective, method of using regular expressions. The URLs can be easily collected through the DOM interfaces (see code in extension mentioned in comment 47 for example). However replacing only those URLs that need to be replaced is difficult, as a regular expression cannot ever beat a full parser for shear flexibility.
Comment 50•17 years ago
|
||
Web developers have lots of ways to get the exact source of the page.. that's not an issue in my opinion. Regular expressions are a no-go, since you can't parse HTML properly using them, plus we already have a working parser - why would we write and maintain another, regexp-based one? For a single questionable web developer use-case?
Updated•16 years ago
|
Comment 55•16 years ago
|
||
firefox 3 has been release but this bug not be cleared. look at the starting bug date, why?
Updated•16 years ago
|
Comment 56•16 years ago
|
||
the original *simple* example may be "questionable", but there are plenty of recursive usage out there where one .css imports others via @import() ... i'm not suggesting that creating a dedicated parser is a good idea, just that the idea of writing off css @import() as questionable is ridiculousness.
Comment 57•16 years ago
|
||
I'm not getting your point. You expect your saved page to look like the original. Actually Firefox is not saving all files. There is no discussion here.
Comment 58•16 years ago
|
||
my comment was a specific reply to Comment #50. take a chill pill.
Comment 59•16 years ago
|
||
#57: then why does it save the images and re-write the paths to them? What's wrong with expecting to be able to have a saved page look the same as the original one? Or am I misunderstanding your comment?
Comment 60•16 years ago
|
||
For most people the aim is to make a local copy of the page view some strongly appreciate a copy of the files structure. Both are unhappy because a part of the css is lost.
Comment 61•16 years ago
|
||
Nop. For people who wants files from the serveur, they'll need the css file linked in the @import directive. For people who needs a copy (sort of screenshot), they'll want the same style to be applied, including those imported. Not conflictual. Yes, the @import url should be rewritten locally for this to work properly. (ps->Mike Frysinger=>i'm not so fluent, what's a chill pill? bad medicine probably...)
Updated•16 years ago
|
Updated•14 years ago
|
Comment 64•13 years ago
|
||
Until this bug is fixed, couldn't Firefox display a warning saying that some CSS files are missing when doing the "Save Page As" / "Web Page, complete"? (I don't know the Firefox internals, but since the page is already displayed, I suppose that Firefox could have this information quite easily.) This would avoid to make the user wonder why a saved page looks wrong when opened, because Firefox doesn't display any error when a CSS file is not found.
Comment 65•12 years ago
|
||
Please ficks this bug. I am dying. I can't wait any longer. I want to see this bug ficked before I pass away. I want to enjoy my life. Please
Comment 66•12 years ago
|
||
@ Lil B: Others are not responsible for your life. Suggestion: Why don't you use the maff add-on ?? It not only saves an identical, faithful copy of the web page, it also saves disk space due to zip compression!
Comment 67•12 years ago
|
||
@chrizoo : You have no humor. @lilb : I am only waiting since 2008, take the queue :) @mozilla : This is a bug, please fix
Comment 68•12 years ago
|
||
A reminder: there's 50$ bounty for fixing this bug from https://bugzilla.mozilla.org/show_bug.cgi?id=126309#c36 and https://bugzilla.mozilla.org/show_bug.cgi?id=126309#c44. Please hurry up while they are still alive. Are they? P.S. The future in now.
Comment 69•11 years ago
|
||
Wow, no patch since 11 years for this annoying bug :o
Comment 71•9 years ago
|
||
Happy New Year, bug !
Comment 72•9 years ago
|
||
Remember bug when we used to play? Let's get together again some time and work it out again, like we used to again, let's again. Merry new year to yours and of course your others. Promise, Lil B
Comment 73•9 years ago
|
||
The bounty should be adjusted for inflation, in fact I'll throw all my gold nuggets into a new river. I am going to invest in this bug instead. Promise, Lil B
Comment 74•9 years ago
|
||
If you are serious about the bounty, please consider putting it up at https://www.bountysource.com/issues/3508687-save-page-does-not-save-import-ed-css to streamline the process.
Updated•8 years ago
|
Updated•2 years ago
|
Comment 75•2 years ago
|
||
The severity field for this bug is relatively low, S3. However, the bug has 34 duplicates, 113 votes and 99 CCs.
:Gijs, could you consider increasing the bug severity?
For more information, please visit auto_nag documentation.
Comment 76•2 years ago
|
||
The last needinfo from me was triggered in error by recent activity on the bug. I'm clearing the needinfo since this is a very old bug and I don't know if it's still relevant.
Comment hidden (off-topic) |
Comment 79•1 year ago
|
||
Now that this bug is of legal age everywhere in the world, maybe it deserves recognition ?
Since it has always been part of Firefox, and it seems that noone wants to fix it, I suggest to simply add in the documentation that "Save page" does not do this. Someone could then close this bug as "not an issue" (works as intended), and wait for someone else to open a "new feature" request. 👍
Description
•