Импортировать CSS из iframe - PullRequest
       1

Импортировать CSS из iframe

0 голосов
/ 18 октября 2019

** Это просто теоретический вопрос **

Если у меня есть веб-сайт, содержащий, например:

<head>
<style>
body {
    background-color: red;
}
</style>
</head
<body>
<p>blah</p>
</body>

, и вставьте его на другой веб-сайт, который имеет белый фонИспользуя iframe, могу ли я использовать CSS в iframe для форматирования текущего веб-сайта, чтобы дать ему красный фон. Заранее спасибо

1 Ответ

0 голосов
/ 18 октября 2019

Лично я думаю, что это невозможно напрямую. Потому что DOM-элементы разные. Ваш собственный веб-сайт имеет некоторое DOM-дерево, которое вы отформатировали с помощью своего собственного CSS.

У включенного веб-сайта iframe есть собственное другое DOM-дерево.

Я думаю, что iframe - неправильный путьдля этого. Если это возможно, вы можете прочитать и проанализировать исходный код вашего веб-сайта iframe и изменить его с помощью php.

Или с помощью Javascript, вдохновленного здесь:

Как изменить содержимоевеб-сайт загружен в iframe?

Для php вы можете использовать этот фрагмент:

$iframe_source = file_get_contents('http://www.example.com/');

Для получения дополнительной информации посмотрите документацию php:

https://www.php.net/manual/de/function.file-get-contents.php

Теперь вы можете отображать и изменять также DOM-дерево страницы iframe. У вас есть содержание и вывод со страницы. Вам нужно только повторить $ iframe_source. Чем вы можете использовать свой CSS-файл и взять .class или id элемента, который хотите отформатировать.

У него есть некоторые преимущества, но также и некоторые недостатки:

преимущества

  • содержимое iframe также индексируется
  • лучше, чем iframe
  • вы можете изменить его
  • его JavaScript бесплатно

недостатки

  • вам нужен php и сервер, который позволяет файлу получать содержимое
  • возможно некоторые динамические элементы в iframe не будут работать

Обновление, потому что это какой-то особый случай:

itty.bitty.site - отличная идея от обычных веб-страниц, здесь вы можете найти кое-что об этой технике:

https://itty.bitty.site/#How_it_Works/XQAAAAK4CgAAAAAAAAAeHMqHyTY4PyKmqfkwr6ooCXSIMxPQ7ojYR153HqZD3W+keVdvwyoyd+luwncAksxo8PWJs+831jtAVty8rDpGXmyebtxMTP3PSa4g8/593sWue8MDcpOgi1bQyEtfa0JNQZ6T1I/xyNULg1rpwWgE2Y9BnqDq8fDN1N+nd58bizHxZrkeBhdg8inSQ/xKDX7JxpEnuwOAh4FOfn3+EHSxzhJsdQjZfh3lk4tTCDexgFND30Ea3NmmJGK84pdMtEVlcmKC5lrnUNmgoJa3QFsHJkr5595tk03idElTDVhmcQI3jSvPrkTVFTnSLeARVZXV/EUiF0y7+cR3bVkLoTkamZWDMiCTY2Xhv0LdNqWlb/xxyk6takRLrNnS8DkifXEbevTbJOUamuK7uy55kL61btF+/lYNHLWGbh1ckCYglReWWMlM0k4uuqM24okcS74tHtOW3Y5HZYBmPvRR+ItSrZPvbj3kbztOrWapUp7nAzgfIjYoBV/4xOXpFbbaHRft5GICE5Mr1PQhmW/nB63nTpnR+7UdHag8WIMa7nf+NvTPKC5MmQnKzhaMuqEnwGgcM5vkWbekimBclkGJwTGeyhxL7N6hivY+KS3H7vcOSFHXGr7K3PBIQZbywqQiimQ6B6zu4RvH7ZZ3ZN++ii00HKM0FPMcNHuOnL99vAxEl6TEFnx4J4+fwzJwNbuut30TFMBgcrE4iKAGncFIHmvOstFWxE+VlvTLC+uy6XArTO8BdfmbByGiyFv8Al7HqLAzGShdGWNzJ6cPpRwMAmWl5GNRA4qwjQAlfF1dtTwfIXSWOL7AyRwxPs27uY2cvVHCdmVVTNDYiTzHeKX6D9e2ApDRFD6pgcA9VMVP6UeOdVdmwRJ+iLTwQuCdLbVWzQ5T2i/chlihD+RawylXJQ8bKvxW9egXGcrgR5dyKaZCr8nBrArAgtRLR7PdqBQQbr5VodBvPc2FP3fZ6UuQVI1Kg4KcY44GIU5vnlM029TU+ibO2iSX3FhusTFhyOxl4TjjkuXBqA1V7Ha/Op2m8QZaP68p7AAZPOcTHAwP5PxENqIf8qS2aaG2Fiwp5rNED3LhPMjtN54klBYylr5hSAr0TD8J+XwFds8Gq9LToLE8Cq7XNJnE9RqNudIozaMWkfc6PRFjp/aH87x97nPDelKKHGyUEnGJyobw45BOhJMKzZST0VA5v+uQQo0djDXc0UXwzNRIWeBLuUJQpaXZY2gZMuLiSERgyDHg2MBI6trWsyb3ZWbFS4rm8Gq2dxfih3Kj6MdNapUo/jltQ31nx2LepJCQe9DNNF6JEMecls6dHTAM2RfHxEODSSKkF17FfjRLRAfxCK927UvizAxxggP5S/HrX6mGc5xonBy3StLd16thiAG860IdvFyBKfE6+CIhe2jzIwIofNiBILYlKA61vKkjlfZjqsUGDLi426U/Y8bdpxfg7FX1gqNEHeVM17dlBTO7pNOnKyeM2xmLoE7lr92/VIrxJ2OqNfcHu9XjrD6l71vU083VwwAq8Vencm9xLAlDyy3/6BB0kRBiJbjayYrLUbQyMGTFfEvOPmc/zJjfdnqHmg5O/0kuzf2+w5CHD426iPngjmiTo5Snlf+qW8emK/ltnQQIv2ufykH+Px3XZM+zsOclAyHI5MbCKBKeT6j5geCiz3uqci1w5ZlpRjtJWUT6zCj8Fx1eg4F4ov51gaODKV+QQWeFJSyuVTm3Nu2i7AbhKikNzb3RBeQinEh9KrhHc+o4JGezOU55h1UZtonB0+J5dfBRqHnc+6HaXfTmcLrMZjWErq15cBmC0Kx6BNyqP3uGhMUSF+OuIzffEX9fGUNDpUtCjKdbml8uF43e4fN8o10TxYkbggTcyYKI+xWHMyKM2tjOideyDwt33minfEy/JgSLsihBnBua9sfXCg32/+i2okk= есть некоторое кодирование base64 и некоторый другой алгоритм. Может быть, вы можете обратиться к dev непосредственно по

Может быть, вы можете использовать некоторый javascript для расшифровки строк, закодированных в base64: Но если вы читаете код с file_get_contents, вы получите только совет, что вам следует активировать javascript. Это не сработает; (

Источник этой крошечной вы можете найти здесь: https://github.com/alcor/itty-bitty

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...