[JavaScript, AJAX] Задай вопрос, получи ответ

Discussion in 'PHP' started by banned, 9 Jun 2007.

Thread Status:
Not open for further replies.
  1. dan582107

    dan582107 New Member

    Joined:
    20 Feb 2010
    Messages:
    22
    Likes Received:
    3
    Reputations:
    0
    Как сделать

    Мне нужно отключить кнопки на клавиатуре при заходе на сайт!(на клавиатуре) нужен Javascript / помогите.
    Вот что я смог отыскать: только что с этим делать? а то в
    Javascript я noob :D
     
  2. SHiNiGaMi

    SHiNiGaMi Banned

    Joined:
    3 Jan 2010
    Messages:
    382
    Likes Received:
    55
    Reputations:
    15
    (тестить не могу, я со смарта)
     
    #2362 SHiNiGaMi, 20 May 2010
    Last edited: 20 May 2010
  3. Grek

    Grek New Member

    Joined:
    19 May 2010
    Messages:
    18
    Likes Received:
    2
    Reputations:
    0
    Собрал..грубо,но работает..
    Code:
    document.getElementById('t').innerHTML =content [numimg];
    
     
    #2363 Grek, 20 May 2010
    Last edited: 21 May 2010
  4. Fuckel

    Fuckel Banned

    Joined:
    16 Jan 2008
    Messages:
    274
    Likes Received:
    59
    Reputations:
    6
    HTML:
    <script>
    <!--//
      function click()
      {
        return false;
      } 
      function press()
      {
        return false;
      }
      document.onmousedown=click;
      document.onkeydown=press;
    // -->
    </script>
    <textarea></textarea>
    теперь попробуй набрать что-нибудь в текстовое поле
     
  5. FindeR

    FindeR Elder - Старейшина

    Joined:
    15 Nov 2006
    Messages:
    623
    Likes Received:
    138
    Reputations:
    20
    Fuckel, тогда уж
    PHP:
    <html>
    <
    head>
    </
    head>
    <
    body onkeydown="return false;">
    <
    textarea></textarea>
    </
    body>
    </
    html>
    Один фиг, хоткеи все будут работать :)

    Кстати, раз уж такая тема..Никто не заморачивался с запретом PrintScreen на странице яваскриптом?
    Опустошение буфера флэшом не предлагать.
     
  6. mff

    mff Elder - Старейшина

    Joined:
    12 Mar 2008
    Messages:
    2,074
    Likes Received:
    701
    Reputations:
    227
    Простенький кретор

    Здравствуйте!
    Подскажите, как сделать на JS такой креатор:
    Есть 2 текстарии и кнопка, человек вводит в первое окно:
    Code:
    Rai tre
    http://86.55.3.10:8036
    Rai med
    http://86.55.3.10:8037
    жмем креат и на выходе во втором окне:
    Code:
    #EXTINF:1,Rai tre
    http://86.55.3.10:8036
    #EXTINF:1,Rai med
    http://86.55.3.10:8037
    Думал сначала на php писать, а потом подумал что можно же и на JS накатать такой скрипт?

    Вот форма:
    HTML:
    <form method="post">
    Ваш текст: <br />
    <textarea id="input" style="width:100%; height:200px;"></textarea>
    
    Плейлист: <br />
    <textarea id="output" style="width:100%; height:200px;"></textarea>
    
    <input type="button" value="конвертировать" />
    </form>
     
  7. Byte_

    Byte_ Elder - Старейшина

    Joined:
    7 Sep 2008
    Messages:
    143
    Likes Received:
    34
    Reputations:
    2

    а не подойдет str.replace("Rai", "#EXTINF:1,Rai");
    ? или я чего-то не понял?
     
  8. mff

    mff Elder - Старейшина

    Joined:
    12 Mar 2008
    Messages:
    2,074
    Likes Received:
    701
    Reputations:
    227
    Ну тексты разные будут всегда. Как при помощи JS ходить по строкам в текстарии и заменять их на нужные данные?
     
  9. Byte_

    Byte_ Elder - Старейшина

    Joined:
    7 Sep 2008
    Messages:
    143
    Likes Received:
    34
    Reputations:
    2
    ну да, просто я не совсем понимаю, что за текст... в принципе можно просто через строчку добавлять в начало или ещё как... поясни что это за строки вводит пользователь?
     
  10. mff

    mff Elder - Старейшина

    Joined:
    12 Mar 2008
    Messages:
    2,074
    Likes Received:
    701
    Reputations:
    227
    Byte_ туда будут вставлять название канала нижe URL всё с новой строки. Нужно будет к названию канала прибавлять "#EXTINF:1," потом ниже идет URL и так далее.
     
  11. Byte_

    Byte_ Elder - Старейшина

    Joined:
    7 Sep 2008
    Messages:
    143
    Likes Received:
    34
    Reputations:
    2
    тогда всё просто пишу прямо тут, по этому могут быть ошибки.
    Code:
    var in;//сюда загоняем входные данные
    var out;//вывод
    in = in.split("\n");
    var c = 0;
    for(i=0,j=in.length;i<j;i++)
    {
    if(c == 1)
    {
    c=0; out = out + '#EXTINF:1,' + in[i] + "\n";
    }else{
    c=1; out = out + in[i] + "\n";
    }
    }
    
    чуть не забыл про переходы на новую строку)
     
    #2371 Byte_, 24 May 2010
    Last edited: 24 May 2010
    1 person likes this.
  12. mff

    mff Elder - Старейшина

    Joined:
    12 Mar 2008
    Messages:
    2,074
    Likes Received:
    701
    Reputations:
    227
    Byte_ спасибо! полез пробовать!
     
  13. mff

    mff Elder - Старейшина

    Joined:
    12 Mar 2008
    Messages:
    2,074
    Likes Received:
    701
    Reputations:
    227
    Заюзал, вот что на выходе получилось:
    Code:
    undefinedRai tre
    #EXTINF:1,http://86.55.3.10:8036
    Rai med
    #EXTINF:1,http://86.55.3.10:8037
    
    Попробую разобраться, спасибо!
     
  14. mff

    mff Elder - Старейшина

    Joined:
    12 Mar 2008
    Messages:
    2,074
    Likes Received:
    701
    Reputations:
    227
    Byte_ всё заработало как часы! Большое спасибо! +5
     
  15. mff

    mff Elder - Старейшина

    Joined:
    12 Mar 2008
    Messages:
    2,074
    Likes Received:
    701
    Reputations:
    227
    Есть код:
    HTML:
    var inp = document.getElementById("input").value;
    inp = inp.split("\n");
    var out="";
    var c = 0;
    for(i=0; i<inp.length; i++){
    	if(c == 1){
    		c=0;
    		out = out + "\t\t\t" + '<location>' + inp[i] + '</location>' + "\n" + "\t\t" + '</track>' + "\n";
    	}else{
    		c=1;
    		out = out + "\t\t" + '<track>' + "\n" + "\t\t\t" + '<title>' + inp[i] + '</title>' + "\n";
    	}
    }
    				document.getElementById("output").value = '<?='<?xml version="1.0" encoding="UTF-8"?>'?>' + "\n" + '<playlist version="1" xmlns="http://xspf.org/ns/0/">' + "\n" + "\t" + '<trackList>' + "\n" + out  +  "\t" + '</trackList>' + "\n" + '</playlist>';
    в FF и в Google Chrome всё отлично работает. Вставляю:
    Code:
    Беркова-ТВ
    mms://217.199.212.109/video3/
    Ibiza On TV
    mms://81.174.67.45/ibizaontv
    TMF Dance
    mms://94.75.250.121:554/39987@662299?MSWMExt=.asf
    Worm TV
    mms://wms.global-streaming.net/04988
    на выходе:
    Code:
    <?xml version="1.0" encoding="UTF-8"?>
    <playlist version="1" xmlns="http://xspf.org/ns/0/">
    	<trackList>
    		<track>
    			<title>Беркова-ТВ</title>
    			<location>mms://217.199.212.109/video3/</location>
    		</track>
    		<track>
    			<title>Ibiza On TV</title>
    			<location>mms://81.174.67.45/ibizaontv</location>
    		</track>
    		<track>
    			<title>TMF Dance</title>
    			<location>mms://94.75.250.121:554/39987@662299?MSWMExt=.asf</location>
    		</track>
    		<track>
    			<title>Worm TV</title>
    			<location>mms://wms.global-streaming.net/04988</location>
    		</track>
    	</trackList>
    </playlist>
    все табуляции, всё как надо. А вот Opera и IE делают лишние переносы перед </title> и перед </location>:
    Code:
    <?xml version="1.0" encoding="UTF-8"?>
    <playlist version="1" xmlns="http://xspf.org/ns/0/">
    	<trackList>
    		<track>
    			<title>Беркова-ТВ
    </title>
    			<location>mms://217.199.212.109/video3/
    </location>
    		</track>
    		<track>
    			<title>Ibiza On TV
    </title>
    			<location>mms://81.174.67.45/ibizaontv
    </location>
    		</track>
    		<track>
    			<title>TMF Dance
    </title>
    			<location>mms://94.75.250.121:554/39987@662299?MSWMExt=.asf
    </location>
    		</track>
    		<track>
    			<title>Worm TV
    </title>
    			<location>mms://wms.global-streaming.net/04988</location>
    		</track>
    	</trackList>
    </playlist>
    Помогите решить вопрос, я так понимаю что то с inp = inp.split("\n");

    :confused: :confused: :confused: :confused:
     
  16. Byte_

    Byte_ Elder - Старейшина

    Joined:
    7 Sep 2008
    Messages:
    143
    Likes Received:
    34
    Reputations:
    2
    я не уверен, нет возможности проверить всё, но попробуй перед split сделать replace \r
    Code:
    ....
    inp = inp.replace("\r","");
    inp = inp.replace("\n\n","");//ещё можно на всякий случай =)
    inp = inp.split("\n");
    ....
    
     
  17. mff

    mff Elder - Старейшина

    Joined:
    12 Mar 2008
    Messages:
    2,074
    Likes Received:
    701
    Reputations:
    227
    не помогло не то и не то :( :( :confused:

    Проверил еще в Safari - всё работает отлично. Только IE и Opera делает эти переносы :( :(
     
  18. emmy

    emmy Member

    Joined:
    12 Oct 2009
    Messages:
    76
    Likes Received:
    17
    Reputations:
    8
    Программисту нужна подсказка, как работать со строками =( Жуть
    Code:
    var lines = inp.split(/[\r\n]+/);
    И ещё, собирать xml конкатенацией строк в js не тру, когда у вас dom на C/C++ реализован.
     
    #2378 emmy, 26 May 2010
    Last edited: 26 May 2010
    1 person likes this.
  19. mff

    mff Elder - Старейшина

    Joined:
    12 Mar 2008
    Messages:
    2,074
    Likes Received:
    701
    Reputations:
    227
    Не говори :) Тут дело в том, что везде работает, только в Опере и в Осле не пашет :mad:
    Там большой выбор форматов, есть просто тектовые, идут строки и всё.
    Код не правильно работает, он перенос убирает, но прибавляет запятую
    Сейчас проверил, в IE теперь всё ок, а в Опере запятую прибавляет :(
     
    #2379 mff, 26 May 2010
    Last edited: 26 May 2010
  20. emmy

    emmy Member

    Joined:
    12 Oct 2009
    Messages:
    76
    Likes Received:
    17
    Reputations:
    8
    Если ты под виндой, то все браузеры должны использовать \r\n в качестве разделителя
    Надо говорить как-нибудь так: когда я выполняю
    Code:
    var lines = "a\r\nb\r\nc\rd\ne".split(/[\r\n]+/);
    alert(lines);
    вижу
    Code:
    a,b,c,d,e
    а ожидаю увидеть ...

    "прибавляет запятую" - это уже твоя интерпретация.

    Запятая появляется потому, что ты пытаешься вывести массив в виде строки (ага, extrasense_mode = on) - неявно вызывается метод lines.toString и вот уже он добавляет запятые между элементами, так как это разделитель по умолчанию. split ничего добавлять не может
     
    1 person likes this.
Thread Status:
Not open for further replies.