Вы используете SVG в контексте изображения. То есть либо с помощью тега html , тега SVG
, либо в вашем случае в качестве фонового изображения.
В Firefox (и, вероятно, в других UA в какой-то момент) изображения должны состоять только из одного файла. Любые данные, внешние по отношению к файлу изображения (pattern-google.svg), игнорируются. Если вы показываете SVG напрямую, тогда загружаются / используются внешние данные.
Итак, что вы можете сделать ...
Загрузите данные как URI данных , То есть base64 encode http://fonts.googleapis.com/css?family=Indie+Flower , но прочитайте последний абзац перед тем, как это сделать, а затем вставьте эти данные непосредственно в файл svg.
Таким образом, импорт будет выглядеть так:
@import url('data:text/css;base64,whatever the base 64 encoded data looks like...')
Будьте осторожны, потому что http://fonts.googleapis.com/css?family=Indie+Flower имеет внешние данные, поэтому сами данные сами должны кодироваться как URI данных. То есть вы должны пройти весь путь вниз по кроличьей дыре. И измените этот файл, как я набросал ниже.
@font-face {
font-family: 'Indie Flower';
font-style: normal;
font-weight: 400;
src: local('Indie Flower'), local('IndieFlower'), url(**convert this file to a data URI too before you convert the whole file to a data URI**) format('woff');
}
После этого вы можете закодировать весь файл как URI данных и @import его.
Итак, чтобы повторить шаг за шагом ...
В Интернете есть много сайтов, которые будут создать URI данных.
Еще лучше можно сделать что-то вроде этого, которое очень легко:
import asyncio
class Foo:
def __init__(self, settings):
self.settings = settings
async def async_init(self):
await create_pool(dsn)
def __await__(self):
return self.async_init().__await__()
loop = asyncio.get_event_loop()
foo = loop.run_until_complete(Foo(settings))
В основном, что происходит, вот __init__()
, назван первым, как обычно, затем __await__()
, назван, который затем ждет async_init()
.