Полезная информация

Список ответов на каверзные вопросы можно получить в FAQ-разделе форума.

№116-01-2012 15:44:07

Dmezhenskij
Участник
 
Группа: Members
Зарегистрирован: 13-01-2012
Сообщений: 5
UA: Firefox 9.0

Помогите с кнопкой!!

Мне нужна кнопка которая, при нажатии,
1. открывает сайт "https://web.stek.com.ua",
2. вводит логин и пароль
3. нажимает на кнопку "Вход"

Помогите !! Очень нужно. Зарание спасибо.

Отсутствует

 

№216-01-2012 19:12:16

feas
Участник
 
Группа: Extensions
Откуда: от DNS
Зарегистрирован: 25-08-2011
Сообщений: 5213
UA: Aurora 11.0
Веб-сайт

Re: Помогите с кнопкой!!


Добро пожаловать на форум mozilla-russia.org. Здесь вы можете посоветоваться или обратиться за помощью к фанатам и пользователям продуктов Мозиллы. Если не знаете как правильно оформить пост специально для вас расписан пункт 2.2 правил форума
Сброс на примере Firefox – лёгкое решение большинства проблем
Починка браузера. Перенос своих настроек на новый профиль.

Отсутствует

 

№316-01-2012 19:30:48

Dmezhenskij
Участник
 
Группа: Members
Зарегистрирован: 13-01-2012
Сообщений: 5
UA: Firefox 9.0

Re: Помогите с кнопкой!!

Не подходит. У меня просто другая идея, а проблема в том что нужно логинится.
У меня кнопочка которая при вводе текста открывает кучу нужных сайтов, и этот текст подставляет в поиск на всех сайтах. А на некоторых сайтах должно логинится.

Отсутствует

 

№416-01-2012 20:01:23

bunda1
Moderator
 
Группа: Moderators
Откуда: Латвия
Зарегистрирован: 09-02-2010
Сообщений: 4811
UA: Firefox 3.6

Re: Помогите с кнопкой!!

Dmezhenskij
Попробуй переделать эту кнопку для себя.

скрытый текст

Выделить код

Код:

var apps,srcUrl,MItem,mPop;

function onLoad(uname,pass)
{
alert("Please wait a sec..");
form_fill(uname,pass);
}

function loadPage(evt)
{
    var url=evt.target.value;
    var name=evt.target.name;
    var pass=evt.target.pass;
    gBrowser.selectedTab=gBrowser.addTab(url);
    function load(){
         if (content.document.title.length>0)
         {
        onLoad(name,pass);
         } else {
         setTimeout(load.bind(this),1000);
         }
    };
    load();
}

function submit_form()
{
    submit_it(gBrowser.contentDocument.getElementsByTagName("BUTTON"));
    submit_it(gBrowser.contentDocument.getElementsByTagName("INPUT"));    
}

function submit_it(obj)
{
for(var i=0;i<obj.length;i++)
    {
        if(obj[i].type=="submit")
        {
            obj[i].click();
            break;
        }
        if(obj[i].type!="hidden" && (obj[i].type=="button"))
            {
                var n=obj[i].name.toLowerCase();
                var v=obj[i].value.toLowerCase();
        if(n.match("submit") || n.match("login") ||v.match("submit") ||v.match("login")||n.match("sign") ||v.match("sign"))
            {
                obj[i].click();
                break;
            }    
            }
    }
}
function form_fill(username,passwd)
{
    var obj= gBrowser.contentDocument.getElementsByTagName("INPUT");
    for(var i=0;i<obj.length;i++)
    {
        if(obj[i].type!="hidden")
        {
            if(obj[i].type=="text")
            {
                var n=obj[i].name.toLowerCase();
                if(n.match("name") || n.match("login")||n.match("mail"))
                obj[i].value=username;
            }
            if(obj[i].type=="password")
            obj[i].value=passwd;
    
        }
    }
submit_form();
}

function getIndex(opt,value)
{
    for( var i=0;i<opt.length;i++)
    {
        if(opt[i].text==value)
        return i;
    }
}

//------menu items--------
var Img=this.image;
apps=new Array;
apps.push(['Yahoo','http://www.yahoomail.com','username','pass',Img]);
apps.push(['Gmail','http://www.gmail.com','username','pass',Img]);
apps.push(['Rediff','http://www.rediffmail.com','username','pass',Img]);
apps.push(['separator']);




//------/menu items-------

MItem=function(value){
  var mItem=document.createElement('menuitem');
  mItem.setAttribute('label',apps[value] [0]);
  mItem.value = apps[value] [1];
  mItem.name= apps[value] [2];
  mItem.pass= apps[value] [3];
  mItem.tooltipText = apps[value] [0];
  mItem.setAttribute('class','menuitem-iconic bookmark-item');
 mItem.setAttribute('image',apps[value] [1]);
  return mItem;
}



//this.orient="vertical";
mPop=document.createElement('menupopup');
for (var i=0;i<apps.length;i++){
 if (apps[i] =='separator'){
  mPop.appendChild(document.createElement('menuseparator'));
 }else{
  mPop.appendChild(MItem(i));
 }
}

this.siteGo=function(evt)
{
loadPage(evt);
}


this.appendChild(mPop);
this.type = "menu-button";
this.tooltipText='My Logins';
this.setAttribute("oncommand", "this.siteGo(event);");
this.value="http://yahoomail.com";
this.name="username";
this.pass="pass";

Отсутствует

 

№517-01-2012 13:32:50

Dmezhenskij
Участник
 
Группа: Members
Зарегистрирован: 13-01-2012
Сообщений: 5
UA: Firefox 9.0

Re: Помогите с кнопкой!!

bunda1 пишет

Dmezhenskij
Попробуй переделать эту кнопку для себя.

скрытый текст

Выделить код

Код:

var apps,srcUrl,MItem,mPop;

function onLoad(uname,pass)
{
alert("Please wait a sec..");
form_fill(uname,pass);
}

function loadPage(evt)
{
    var url=evt.target.value;
    var name=evt.target.name;
    var pass=evt.target.pass;
    gBrowser.selectedTab=gBrowser.addTab(url);
    function load(){
         if (content.document.title.length>0)
         {
        onLoad(name,pass);
         } else {
         setTimeout(load.bind(this),1000);
         }
    };
    load();
}

function submit_form()
{
    submit_it(gBrowser.contentDocument.getElementsByTagName("BUTTON"));
    submit_it(gBrowser.contentDocument.getElementsByTagName("INPUT"));    
}

function submit_it(obj)
{
for(var i=0;i<obj.length;i++)
    {
        if(obj[i].type=="submit")
        {
            obj[i].click();
            break;
        }
        if(obj[i].type!="hidden" && (obj[i].type=="button"))
            {
                var n=obj[i].name.toLowerCase();
                var v=obj[i].value.toLowerCase();
        if(n.match("submit") || n.match("login") ||v.match("submit") ||v.match("login")||n.match("sign") ||v.match("sign"))
            {
                obj[i].click();
                break;
            }    
            }
    }
}
function form_fill(username,passwd)
{
    var obj= gBrowser.contentDocument.getElementsByTagName("INPUT");
    for(var i=0;i<obj.length;i++)
    {
        if(obj[i].type!="hidden")
        {
            if(obj[i].type=="text")
            {
                var n=obj[i].name.toLowerCase();
                if(n.match("name") || n.match("login")||n.match("mail"))
                obj[i].value=username;
            }
            if(obj[i].type=="password")
            obj[i].value=passwd;
    
        }
    }
submit_form();
}

function getIndex(opt,value)
{
    for( var i=0;i<opt.length;i++)
    {
        if(opt[i].text==value)
        return i;
    }
}

//------menu items--------
var Img=this.image;
apps=new Array;
apps.push(['Yahoo','http://www.yahoomail.com','username','pass',Img]);
apps.push(['Gmail','http://www.gmail.com','username','pass',Img]);
apps.push(['Rediff','http://www.rediffmail.com','username','pass',Img]);
apps.push(['separator']);




//------/menu items-------

MItem=function(value){
  var mItem=document.createElement('menuitem');
  mItem.setAttribute('label',apps[value] [0]);
  mItem.value = apps[value] [1];
  mItem.name= apps[value] [2];
  mItem.pass= apps[value] [3];
  mItem.tooltipText = apps[value] [0];
  mItem.setAttribute('class','menuitem-iconic bookmark-item');
 mItem.setAttribute('image',apps[value] [1]);
  return mItem;
}



//this.orient="vertical";
mPop=document.createElement('menupopup');
for (var i=0;i<apps.length;i++){
 if (apps[i] =='separator'){
  mPop.appendChild(document.createElement('menuseparator'));
 }else{
  mPop.appendChild(MItem(i));
 }
}

this.siteGo=function(evt)
{
loadPage(evt);
}


this.appendChild(mPop);
this.type = "menu-button";
this.tooltipText='My Logins';
this.setAttribute("oncommand", "this.siteGo(event);");
this.value="http://yahoomail.com";
this.name="username";
this.pass="pass";

Спасибо. Работает. НО у меня другой вопрос, как вставить этот код в мой? Чтобы открывались сайты и при этом логинилось. Прикреплю свой код.



Выделить код

Код:

this. searchGoogle = function (text, url, encode)
{
    if (encode)
    {
        text = escape (convertFromUnicode ("UTF-8", text));
        url = encodeURIComponent (url);
    }
 
    var searchUrl = "http://rozetka.com.ua/search/?section=%2F&text=" + text;
    getBrowser (). addTab (searchUrl);
    
    var searchUrl = "https://www.distri.mti.ua/search?q=" + text + "&prepare=d9785c69b7d168b4dff2b27eac6f09a2";
    getBrowser (). addTab (searchUrl);
    
    var searchUrl = "http://www.it4profit.com/ecatalog/userend/shopITProdLite.jsp?SUPPLIER=308&LANG=ru&SDATA=1&COND=701&PATERN=" + text + "&PT=&MNF=";
    getBrowser (). addTab (searchUrl);
    
    //var searchUrl = "http://dealers.tdb.ua:3333/default.aspx";
    //getBrowser (). addTab (searchUrl);
    
    var searchUrl = "http://www.mdm-ua.com/Orders/Goods.aspx?name=" + text;
    getBrowser (). addTab (searchUrl);
    
    var searchUrl = "https://kiev.elkogroup.com/body.asp";
    getBrowser (). addTab (searchUrl);
    
    var searchUrl = "http://yugcontract.ua/search/?category=1&query=" + text;
    getBrowser (). addTab (searchUrl);
    
    var searchUrl = "https://web.stek.com.ua/start.asp";
    getBrowser (). addTab (searchUrl);
        
};



this. showSearchDialog = function (callback, url)
{
    XML. ignoreProcessingInstructions = false;
    var dialog = <>
        <?xml-stylesheet href="chrome://global/skin/"?>
        <?xml-stylesheet href="resource://gre/res/html.css"?>
        <dialog xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
                id="dlg02"
                title="Поиск"
                onload="windowController.init()"
                ondialogaccept="return windowController.accept();">
            <script type="application/x-javascript">
                <![CDATA[
                    var windowController =
                    {
                        init: function ()
                        {
                           /*  var stb = document. getElementById ("sitetb");
                            stb. value = window. arguments [1]; */
                            window. sizeToContent ();
                        },
                        
                        accept: function ()
                        {
                            var text = document. getElementById ("texttb"). value;
                            /* var url = document. getElementById ("sitetb"). value; */
                            window. arguments [0] (text, true);
                        }
                    };
                ]]>
            </script>
            <vbox flex="1">
                <grid>
                    <columns>
                        <column/>
                        <column flex="1"/>
                    </columns>
                    <rows>
                        <row align="center">
                            <label value="Что искать?"/>
                            <textbox id="texttb" flex="1"/>
                        </row>
                    </rows>
                </grid>
            </vbox>
        </dialog>
    </>;
    window. openDialog ("data:application/vnd.mozilla.xul+xml," + dialog. toXMLString (), "", "chrome,dependent,minimizable,resizable=yes,centerscreen,dialog=yes", callback, url);
};

this. onclick = function (event)
{
    var focusedWindow = document. commandDispatcher. focusedWindow;
    var text = focusedWindow. getSelection (). toString ();
    var doc = getBrowser (). contentDocument;
    try { var url = doc. location. hostname; }
      catch(e) { var url = ""; }
    if (event. button == 0)
    {
        if (event. button == 0)

            this. showSearchDialog (this. searchGoogle, url);
        return;
    }
    if (!text || event. shiftKey)
        return;
    var charset = doc. characterSet;
    try
    {
        charset = PlacesUtils. history. getCharsetForURI (makeURI (doc. location. href));
    } catch (e) {}
    if (charset)
    {
        text = escape (convertFromUnicode (charset, text));
        url = escape (convertFromUnicode (charset, url));
    }
    else
    {
        text = encodeURIComponent (text);
        url = encodeURIComponent (url);
    }
    var searchURL = "";
    if (event. button == 2)
    {
        event. preventDefault ();
        event. stopPropagation ();
        this. searchGoogle (text, url, false);
    }
        
};

Отсутствует

 

№617-01-2012 18:34:03

Dmezhenskij
Участник
 
Группа: Members
Зарегистрирован: 13-01-2012
Сообщений: 5
UA: Firefox 9.0

Re: Помогите с кнопкой!!

Вопрос!
Как сделать, чтобы это все выполнялось в новом открытом окне?

Отсутствует

 

№717-01-2012 19:24:15

bunda1
Moderator
 
Группа: Moderators
Откуда: Латвия
Зарегистрирован: 09-02-2010
Сообщений: 4811
UA: Firefox 3.6

Re: Помогите с кнопкой!!

Dmezhenskij пишет

Спасибо. Работает. НО у меня другой вопрос, как вставить этот код в мой? Чтобы открывались сайты и при этом логинилось. Прикреплю свой код.

К сожалению я не знаю, эта кнопка не моя.

Отсутствует

 

№824-01-2012 19:01:40

Dmezhenskij
Участник
 
Группа: Members
Зарегистрирован: 13-01-2012
Сообщений: 5
UA: Firefox 9.0

Re: Помогите с кнопкой!!

мне нужно чтобы находилась определенная строка и туда вписывался текст

Отсутствует

 

№924-01-2012 19:19:22

bunda1
Moderator
 
Группа: Moderators
Откуда: Латвия
Зарегистрирован: 09-02-2010
Сообщений: 4811
UA: Firefox 3.6

Re: Помогите с кнопкой!!

Dmezhenskij
21-01-2012 20:39:17

Отсутствует

 

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2020 Mozilla Russia GitHub mark
Язык отображения форума: [Русский] [English]