Join us and the lead editor of IRL, Mozilla's multi-award-winning podcast, for a behind-the-scenes look at the pod and to contribute your ideas for the next season, themed: "AI and ME." Mark your calendar and join our Community Call on Wednesday, Aug 7, 17:00–17:45 UTC. See you there!

搜尋 Mozilla 技術支援網站

防止技術支援詐騙。我們絕對不會要求您撥打電話或發送簡訊,或是提供個人資訊。請用「回報濫用」功能回報可疑的行為。

了解更多

How does Firefox handle xml:base when generating GET requests for SVG image elements?

  • 1 回覆
  • 1 有這個問題
  • 6 次檢視
  • 最近回覆由 cor-el

more options

I am loading an SVG image at the following URL:

http://localhost/howl/svg/id/543

The source for this SVG code is:

<svg xml:base="/howl/">

 <svg width="535" height="325" xmlns="http://www.w3.org/2000/svg"

xmlns:xlink="http://www.w3.org/1999/xlink">

   <image xlink:href="file/id/532" />
 </svg>

</svg>

As you can see, the SVG code is located at one path, but the <image> is relative to the root, hence the wrapping xml:base attribute.

The actual requests in Firefox, according to Tomcat Logging are:

GET /howl/svg/id/543 GET /howl/file/id/532

However, Firebug's Net tab shows these requests:

GET /howl/svg/id/543 GET /howl/svg/id/file/id/532 (Incorrect, doesn't happen) GET /howl/file/id/532

When I test the same thing in Safari and Chrome, all three GET requests actually happen, the incorrect one resolving in a 404.

I suspect that Firefox is generating all three requests, but discarding the incorrect one and Firebug is not aware of this. As a result, Firebug shows all three requests, but the incorrect one never resolves.

So, I'm curious about the behavior or whether I am doing this incorrectly.

Thanks!

I am loading an SVG image at the following URL: http://localhost/howl/svg/id/543 The source for this SVG code is: <svg xml:base="/howl/"> <svg width="535" height="325" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <image xlink:href="file/id/532" /> </svg> </svg> As you can see, the SVG code is located at one path, but the <image> is relative to the root, hence the wrapping xml:base attribute. The actual requests in Firefox, according to Tomcat Logging are: GET /howl/svg/id/543 GET /howl/file/id/532 However, Firebug's Net tab shows these requests: GET /howl/svg/id/543 GET /howl/svg/id/file/id/532 (Incorrect, doesn't happen) GET /howl/file/id/532 When I test the same thing in Safari and Chrome, all three GET requests actually happen, the incorrect one resolving in a 404. I suspect that Firefox is generating all three requests, but discarding the incorrect one and Firebug is not aware of this. As a result, Firebug shows all three requests, but the incorrect one never resolves. So, I'm curious about the behavior or whether I am doing this incorrectly. Thanks!

所有回覆 (1)

more options

A good place to ask questions and advice about web development is at the mozillaZine Web Development/Standards Evangelism forum.
The helpers at that forum are more knowledgeable about web development issues.
You need to register at the mozillaZine forum site in order to post at that forum.

See http://forums.mozillazine.org/viewforum.php?f=25