Почему спрайты svg не видны на сервере. В залп все хорошо
Возникла такая проблема, что svg sprite'ы вообще нигде не видно, кроме самого глотка. Вот что на хостинге ====>
А теперь включенный глоток и все отлично работает ===>
Скрипт для добавления спрайтов в тело
;( function( window, document ) {
'use strict';
var file = 'img/symbols.svg',
revision = 1;
if( !document.createElementNS || !document.createElementNS( 'http://www.w3.org/2000/svg', 'svg' ).createSVGRect )
return true;
var isLocalStorage = 'localStorage' in window && window[ 'localStorage' ] !== null,
request,
data,
insertIT = function()
{
document.body.insertAdjacentHTML( 'afterbegin', data );
},
insert = function()
{
if( document.body ) insertIT();
else document.addEventListener( 'DOMContentLoaded', insertIT );
};
if( isLocalStorage && localStorage.getItem( 'inlineSVGrev' ) == revision )
{
data = localStorage.getItem( 'inlineSVGdata' );
if( data )
{
insert();
return true;
}
}
try
{
request = new XMLHttpRequest();
request.open( 'GET', file, true );
request.onload = function()
{
if( request.status >= 200 && request.status < 400 )
{
data = request.responseText;
insert();
if( isLocalStorage )
{
localStorage.setItem( 'inlineSVGdata', data );
localStorage.setItem( 'inlineSVGrev', revision );
}
}
}
request.send();
}
catch( e ){}
}( window, document ) );
1 ответ
Вы использовали оператор отладки, чтобы убедиться, что вы получаете правильные данные на стороне сервера?
Затем, ПОСЛЕ того, как вы можете использовать console.log в этом js-скрипте для записи данных на консоль (или использовать отладчик chrome javascript и точки останова).
Я хотел бы убедиться, что вы получаете правильные данные с сервера. Если сервер получает ошибку 500, JS обычно просто прекращает выполнение (иногда это будет продолжаться, но его ответ будет неверным).
На этой странице описано, как использовать отладчик Chrome: