>我有一个动态生成的SVG嵌入在HTML页面中。它正在显示,但有不需要的水平和垂直滚动条,v.烦人!通过检查 Chrome 浏览器中的元素,我看到它有一个<头>和<身体>标签,对于 SVG 来说不正常!如果我更改"data"属性以包含传统的静态 SVG,则不会在浏览器中添加头部或身体标签。身体>头>
我正在从 Apache 服务器上的 PHP 页面提供 SVG XML,并将其作为对象嵌入到标记中:
<object id="map" type="image/svg+xml" data="mapphp.svg"></object>
浏览器显然检测到这不是传统的SVG文件,我只能假设它将其视为Content-Type:text/html并添加头部和正文标签以标准化它认为写得不好的标记。
我什至尝试过用.htaccess屏蔽PHP文件,并用mod_headers.c覆盖标题
<IfModule mod_rewrite.c>
RewriteCond %{REQUEST_URI} mapphp.svg [NC]
RewriteRule ^(.*)$ map.php?r=$1 [L,QSA]
</IfModule>
<ifModule mod_headers.c>
<filesMatch "mapphp'.svg$">
Header set ETag "813c0-3a0-4e7c49319ad82"
Header unset Content-Type
Header unset X-Powered-By
Header unset Server
</filesMatch>
</ifModule>
然而,它似乎仍然将我的SVG视为HTML文档,并给它一个<头>和<正文>标签。 正文>头>
附言发布此内容后我将上床睡觉,因此如果我直到明天才回复,请不要生气。我将非常感谢任何帮助。
在进行任何输出之前,map.php
包含以下标头header("Content-type: image/svg+xml");
。