Ceejayoz & Joe уже рассмотрели 2 основных варианта: Javascript или IFrame .
Если вы хотите ознакомиться с некоторыми примерами, взгляните на особенность StackOverflow , которая делает именно то, что вы пытаетесь сделать, и позволяет пользователю встраивать информационное окно пользователя StackOverflow самостоятельно. сайт.
Если вы хотите увидеть, как это реализовано, посмотрите html , на который пользователь будет ссылаться с помощью IFrame, или этот Javascript , который пользователь будет вызывать со своей страницы , (см. примечания в разделе «Как использовать это» на странице SO flair .)
[Вы должны вставить свой номер пользователя в эти ссылки, чтобы увидеть соответствующие файлы html / js для себя.]
В случае SO, js / html генерируется специально для каждого пользователя. Для полноты я включил StackOverflow js / html, который достигает этого.
JavaScript: Вы можете видеть, что при выполнении это в основном записывает элемент сценария на html-страницу пользователя, который вставляет ссылку на файл SO css в заголовок. Затем он включает в себя несколько довольно простых тегов div / span, которые стилизуются CSS. Очевидно, что в этом случае пользователь может предоставить свой собственный CSS, если он хочет по-другому его оформить.
document.write('
<script>
var link = document.createElement(\"link\");
link.href = \"https://stackoverflow.com/content/flair-Default.StackOverflow.css\";
link.rel = \"stylesheet\";
link.type = \"text/css\";
var head = document.getElementsByTagName(\"head\")[0];
head.appendChild(link);
</script>
<div class=\"valuable-flair\">
<div class=\"gravatar\">
<a title=\"See my profile on Stack Overflow\" target=\"_blank\" href=\"https://stackoverflow.com/users/1/jeff-atwood\">
<img src=\"http://www.gravatar.com/avatar/51d623f33f8b83095db84ff35e15dbe8?s=50&d=identicon&r=PG\" height=\"50\" width=\"50\" alt=\"\">
</a>
</div>
<div class=\"userInfo\">
<span class=\"username\">
<img src=\"http://sstatic.net/so/favicon.ico\" />
<a href=\"https://stackoverflow.com/users/1/jeff-atwood\" target=\"_blank\">Jeff Atwood</a>
<span class=\"mod-flair\" title=\"moderator\">♦</span>
</span>
<br />
<span class=\"reputation-score\" title=\"reputation score\">16,907</span>
<br />
<span title=\"5 gold badges\"><span class=\"badge1\">●</span>
<span class=\"badgecount\">5</span></span><span title=\"55 silver badges\">
<span class=\"badge2\">●</span><span class=\"badgecount\">55</span></span>
<span title=\"72 bronze badges\"><span class=\"badge3\">●</span>
<span class=\"badgecount\">72</span></span>\r\n </div>\r\n</div>'
);
Html - для IFrame: Вы можете видеть, что это полный HTML-документ (на самом деле XHTML, чтобы быть педантичным), который включает в себя все необходимое, включая ссылку на CSS в заголовке и содержимое в теле .
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" href="http://sstatic.net/so/flair-Default.StackOverflow.css" />
</head>
<body>
<div class="valuable-flair">
<div class="gravatar">
<a title="See my profile on Stack Overflow" target="_blank" href="https://stackoverflow.com/users/1/jeff-atwood"><img src="http://www.gravatar.com/avatar/51d623f33f8b83095db84ff35e15dbe8?s=50&d=identicon&r=PG" height="50" width="50" alt=""></a>
</div>
<div class="userInfo">
<span class="username"><img src="http://sstatic.net/so/favicon.ico" /><a href="https://stackoverflow.com/users/1/jeff-atwood" target="_blank">Jeff Atwood</a><span class="mod-flair" title="moderator">♦</span></span>
<br />
<span class="reputation-score" title="reputation score">16,907</span>
<br />
<span title="5 gold badges"><span class="badge1">●</span><span class="badgecount">5</span></span><span title="55 silver badges"><span class="badge2">●</span><span class="badgecount">55</span></span><span title="72 bronze badges"><span class="badge3">●</span><span class="badgecount">72</span></span>
</div>
</div>
</body>
</html>