[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: javascript: как получить данные о просматриваемой странице - решение



Oleg Matviychuk wrote:
http://my.sitebar.org/integrator.php?lang=en_US&browser=opera:

Увидеть как сделали на sitebar.org неполучилось, но чтение тамошней документации натолкнуло на мысль, что получать свойства iframe они тоже не умеют, но что имеет смысл использовать drag&drop.

Создание div и попытка искользовать любое событие div.ondrag*** провалилась - никакой реакции добиться не удалось.

Зато удалось это сделать через форму и ".onmouseover" (которое, как ни странно, срабатывает только после "drop").

Пример (div c сылкой и div с формой ловящей эту ссылку):

1.html
//------------------------------------------------------------------
<html>
<head>
</head>
<body>

<script language="JavaScript">
generate_frame_1();
generate_frame_3();
generate_link_1();


function generate_frame_1()
    {
        var oDiv                        = document.createElement("div");

        oDiv.style.width                = "30%";
        oDiv.style.height               = "20%";
        oDiv.style.position             = "absolute";
        oDiv.style.display              = "block";
//        oDiv.style.visibility           = "hidden";
        oDiv.style.overflow             = "none";
        oDiv.style.margin               = "0";
        oDiv.style.border               = "1px solid ";
        oDiv.style.top                  = "0%";
        oDiv.style.left                 = "0%";
        oDiv.style.zIndex               = "11";
        oDiv.id                         = "frame_1";
//        oDiv.innerHTML                  = "frame_1";

        document.body.appendChild(oDiv);
}

generate_form_1();

function generate_form_1(){
var form = document.createElement("FORM");
form.id = 'form_1';
document.getElementById('frame_1').appendChild(form);
var input = document.createElement("INPUT");
input.id = 'form_1_input';
input.style.width  = '100%';
input.style.height = '100%';
input.style.border = '3px solid';
document.getElementById('form_1').appendChild(input);
//document.getElementById('form_1_input').onmouseover =  function(event){
document.getElementById('form_1_input').onmouseover =  function(){
if (!document.getElementById('form_1_input').value == ''){
alert(document.getElementById('form_1_input').value);
document.getElementById('form_1_input').value = '';
}

}
}


function generate_frame_3()
    {
        var oDiv                        = document.createElement("div");

        oDiv.style.position             = "absolute";
        oDiv.style.width                = "20%";
        oDiv.style.height               = "20%";
        oDiv.style.top                  = "25%";
        oDiv.style.left                 = "0%";
        oDiv.style.border               = "1px solid ";
        oDiv.id                         = "frame_3";

        document.body.appendChild(oDiv);
    }
function generate_link_1()
    {
        var oDiv                        = document.createElement("a");

        oDiv.href                       = "www.com";
        oDiv.setAttribute('href','removeChild.html')
        oDiv.id                         = "link_1";
        oDiv.className                  ='contrast';

        document.getElementById("frame_3").appendChild(oDiv);

var linkText=document.createTextNode('click here');
    linkText.id = "link_1_text";
document.getElementById("link_1").appendChild(linkText);
    }

</script>
</body>
</html>

//------------------------------------------------------------

Если тянуть link из iframe или "Navigation тулбара" - тоже работает.
Проверенно на  Iceweasel/2.0.0.19 (Debian-2.0.0.19-0etch1)

Спасибо.



--
Sincerely,
	Nicholas


Reply to: