АРХИВ ПО ТЭГУ "HOWTO"
МАРТ 1, 2013
ИЮНЬ 3, 2010

Йо.

На заметку.

Среди немногочисленных мануалов о том как разобрать iMac имхо самый клёвый это этот. С картинками и описанием, поднобно все так.

Удачной разборки!

ИЮНЬ 3, 2010

Хай.

Ппц проблема тут возникла: Нужно закрыть iframe, со странецей из другого домена относительно самой страницы где создан iframe, причем закрыть этот iframe нужно из ссылки внутри этого iframe!

По началу вроде все просто: можно заюзать javascript проперти parent. Но в crossdomain случае браузер не даст этого сделать из соображений безопасности.

После долгих мучений был найден такой workaround с использование hash в урле:

На основной странице добавляем JavaScript код

// Код для обработки сообщений из iframe

var lastId = «»;
function checkForMessages(){
if (location.hash != lastId){
lastId = location.hash;
lastHashIdx = lastId.lastIndexOf(‘#myMsg’);
if (lastHashIdx != -1) {
// Пропарсить наш месадж
msg = lastId.substring(lastHashIdx + 7); // lastHashIdx + strlen(‘#myMsg’)

// Убрать месадж из урла
lastId = lastId.substring(0, lastHashIdx);
location.hash = lastId;

// Обработать месадж
if (msg == ‘myMessage’) {
// TODO Handler here

alert(‘TODO Handle for myMessage’);

} else {
alert(‘unknowm message ‘ + msg);
}
}
}
}
setInterval(checkForMessages, 200);

В iframe добавляем JavaScript код

Заметка: тут нужно еще не забыть указать URL основной страницы (внутри которой iframe). Этот УРЛ нельзя получить через parent.location или parent.location.href т.к. в кросс-браузерном варианте это небезопасно.

// Код для посылки сообщений в parent document

function sendMessage(msg){
parent.location = parentWindowUrl + «#myMsg_» + msg;
}

В iframe добавляем, например, ссылку для закрытия фрейма

<a href=»javascript:void(0)» onclick=»javascript:sendMessage(‘myMessage’);return false;»>Do it!</a>

Успехов!


АПРЕЛЬ 17, 2010

Набрать в адресной строке «about:config» , и поменять проперти keywrod.URL на:

http://www.google.com/search?ie=UTF-8&oe=UTF-8&sourceid=navclient&gfns=1&q=