возьмите комп с большим монитором, небольшой ноутбук, планшет и телефон. и откройте на них на всех свой сайт.
смотрится хорошо? ничего не съезжает? горизонтальной прокрутки нигде нет? блоки друг на друга не налезают? текст везде читабелен? ну, значит все в порядке.
а в чем проблема?
используйте ширину и отступы в %, меняйте нужные размеры при помощи медиа-запросов.
высоту всегда можно отследить на js
можете сделать абсолютно спозиционированный родительский блок для этих элементов, а их раскидать внутри как угодно.
в общем, было бы желание.
обычно вся картинка идет фоном, а на ней размечаются невидимые области-ссылки, при наведении на которые появляются дополнительные элементы (подсвеченные здания, этажи с включенным светом и т.д.) - вот эти элементы нужно отдельно запросить у дизайнера. еще обязательно уточните параметры резиновости/адаптивности и кроссбраузерность, чтобы потом не было вопросов. области для наведения произвольной формы можно задавать при помощи map-area, советую генерировать из картинки.
верстаете блок с position:fixed, 100% шириной и высотой, поверх всего сайта. фоном ставите ему гифку.
на событие $(window).load() вешаете плавное исчезновение этого блока (fadeOut).
это один из вариантов, можно и по-другому, но смысл тот же.
поисковики плохо работают с js вообще. поисковый робот - это как пользователь, у которого js отключен (на самом деле все немного сложнее, и поисковики рендерят js, но это другой вопрос).
Отключите javascript в браузере и посмотрите, какой контент будет виден на сайте с angular и какой на сайте с react? вот этот контент поисковики и получат.
ну и react поддерживает рендеринг на стороне сервера, а значит поисковики будут получать сразу полноценный html. а не шаблон без контента, в случае с angular.
iframe или ajax-запрос.
а по делу - просто настройте .htaccess так, чтобы при заходе на Y.X.ru подгружалась X.ru/page. через rewriteurl, или что-нибудь в этом духе.
А в prism.js вообще есть метод для реинициализации?
Наверное, правильнее было бы запускать подсветку не при изменении тегов, а при успешном завершении ajax-вызова, изменяющего теги.
Схема примерно такая:
В шаблоне списка новостей убираете ссылки и сохраняете их в какой-нибудь атрибут, например "data-url". ссылки лучше делать без ЧПУ, типа /news/detail.php?ELEMENT_ID=99.
В js ставите событие - при клике на новость, ajax-запрос по нужной ссылке. на /news/detail.php поставьте отдельный шаблон сайта (пустой), на странице разместите минималистичный компонент "новость детально".
Результат выполнения запроса (html полученной новости) подставляете в скрытый div на родительской странице и показываете его.
Потому что переменная не объявлена через var и совпадает с id элемента.
В данном случае, элементы документа с id доступны как глобальные переменные с такими же именами.
Старый прикол.