Использование BBCode:
Код: Выделить всё
[iframe={RELATIVE_URL},{NUMBER}][/iframe]
Код: Выделить всё
<a href="{RELATIVE_URL}" target="_blank">{L_GO}: {RELATIVE_URL}</a>
<script type="text/javascript">
// <![CDATA[
if ( ( typeof bb_iframe_height != 'function' ) && ( typeof bb_iframe_accept != 'function' ) )
{
function bb_iframe_height(f,h)
{
function bb_iframe_getCoords(f)
{
var box = f.getBoundingClientRect();
var body = document.body;
var docEl = document.documentElement;
var scrollTop = window.pageYOffset || docEl.scrollTop || body.scrollTop;
var scrollLeft = window.pageXOffset || docEl.scrollLeft || body.scrollLeft;
var clientTop = docEl.clientTop || body.clientTop || 0;
var clientLeft = docEl.clientLeft || body.clientLeft || 0;
var top = box.top + scrollTop - clientTop;
var left = box.left + scrollLeft - clientLeft;
return { "left": Math.round(left), "top": Math.round(top) };
}
var coords = bb_iframe_getCoords(f);
if ( h )
{
var hf = h;
if ( hf < 25 ) hf = 25;
else if ( hf > 1000) hf = 1000;
f.style.height = Math.round((hf*((document.compatMode=='CSS1Compat' && window.opera) ? (window.innerHeight) : (document.compatMode=='CSS1Compat' && !window.opera ? document.documentElement.clientHeight : document.body.clientHeight)))/100) + 'px';
}
else
{
var fd = f.contentDocument || f.contentWindow.document;
f.style.height = Math.max(fd.documentElement.scrollHeight, fd.documentElement.clientHeight) + 'px';
f.scrolling="no";
}
var p = f.previousSibling;
while ( p )
{
if ( p.nodeType == 1 )
{
if ( (p.tagName == 'A') || ( p.tagName == 'a') )
{
p.style.display = 'none';
break;
}
}
p = p.previousSibling;
}
var newcoords = bb_iframe_getCoords(f);
window.scrollBy(newcoords.left - coords.left, newcoords.top - coords.top);
}
function bb_iframe_accept(url)
{
if ( url.indexOf('/',0) != 0 ) return false;
if ( decodeURIComponent(url).search(new RegExp('(http(s|)|ftp):\/\/','i')) != -1 ) return false;
var iframe = false;
try
{
iframe = (window != window.top) || (document != top.document) || (self.location != top.location);
}
catch (e)
{
iframe = true;
}
if ( iframe ) return false;
return true;
}
}
if ( bb_iframe_accept('{RELATIVE_URL}') )
{
document.write('<iframe src="{RELATIVE_URL}" width="100%" height="100%" onload="javascript: bb_iframe_height(this,{NUMBER});" frameborder="0" hspace="0px" vspace="0px" marginheight="0px" marginwidth="0px"></iframe>');
}
// ]]>
</script>
Код: Выделить всё
Внутренняя страница сайта в окне фрейма [iframe=адрес,относительная высота][/iframe]
- адрес - внутренняя ссылка относительно корня сайта, начинающаяся с символа "/"
- относительная высота (h) - параметр, задающий высоту окна окна фрейма; если h имеет нулевое значение, скрипт пытается отобразить окно полностью, что не всегда возможно; если окно отображается некорректно, используйте ненулевое h, значение которого соответствует высоте относительно родительского окна в процентах (рекомендуется задавать значение 80, то есть 4/5 высоты экрана); если значение h ненулевое и меньше 25, принимается значение 25, то есть 1/4 высоты экрана; если значение h больше 1000, принимается 1000
- если адрес начинается не с символа "/" или содержит http, https, ftp или отключен javascript или имеет место вложение фреймов или фрейм в процессе загрузки, вместо окна фрейма отбражается ссылка
- ББ-код совместим с модами Prime Links и hook_urlname
- если Вы используете страницы своего сайта, на которых есть ссылки, открывающиеся в том же окне, то это, несомненно, вносит потенциальную уязвимость, поэтомк не следует использовать такие страницы или установить мод Prime Links с настройкой открытия внешних страниц в отдельной вкладке браузера
Тема на моей тестовой площадке: тынц