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

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

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

    fl47590 Member

    Joined:
    15 Nov 2013
    Messages:
    54
    Likes Received:
    8
    Reputations:
    0
    Code:
    if (navigator.userAgent.indexOf('MSIE') !== -1 || navigator.appVersion.indexOf('Trident/') > 0) {
       // MSIE
    }
    
     
  2. seofilms

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

    Joined:
    27 May 2009
    Messages:
    66
    Likes Received:
    46
    Reputations:
    14
    Всем привет, проходил на codeacademy задачку, нужно было из строки найти имя...
    Вроде написал код но почему то он не работает... Хотя проверил несколько раз.
    Немного погуглив нашел правильный ответ но логически он мне не понятен, может кто нибудь обяснить ?
    Мой код :
    PHP:
    var text "hello,victor my name is Victor, how are U ?";
    var 
    myName "Victor";
    for (
    i=0;i<text.length;i++){
        if (
    text[i] === "V"){
        for (
    j=i;j<myName.length;j++){
            
    console.log(text[j]);
        }
        }
    }
    А правильный код :
    PHP:
    var text "hello,victor my name is Victor, how are U ?";
    var 
    myName "Victor";
    for (
    i=0;i<text.length;i++){
        if (
    text[i] === "V"){
        for (
    j=i;j<myName.length+i;j++){
            
    console.log(text[j]);
        }
        }
    }
    Все дело лишь в одной строке :
    PHP:
        for (j=i;j<myName.length+i;j++){
    Почему в этот цикл пишется +i а не просто myName.length никак не могу понять... обьясните кто нибудь ... (
    Заранее благодарю
     
  3. fl47590

    fl47590 Member

    Joined:
    15 Nov 2013
    Messages:
    54
    Likes Received:
    8
    Reputations:
    0
    В твоем случае при выполнении условия "if (text === "V"){" переменная i уже имеет значение 24. Далее переменной j присваивается значение i (т.е. 24). В цикле for при проверке условия:
    В 1 случае условие всегда ложно, т.к. 24 < 6 - ложь (цикл не выполняется ни разу)
    Во 2 случае все верно: условие будет 24 < ( 24 + 6 ) - истина до тех пор, пока не скопируется вся длина имени.
    Можно запустить пример в отладчике и наблюдать за изменением значений переменных (или обкидать все console.log()).
     
    1 person likes this.
  4. seofilms

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

    Joined:
    27 May 2009
    Messages:
    66
    Likes Received:
    46
    Reputations:
    14

    Огромное спасибо, все понятно, я вчера целый день голову ломал.
     
  5. jsquest

    jsquest New Member

    Joined:
    12 Mar 2014
    Messages:
    2
    Likes Received:
    0
    Reputations:
    0
    Нужно вытащить параметр со стороннего скрипта.

    Помогите плиз. При запросе к не js файлу по урлу с неподконтрольного мне сайта отдается такой ответ:

    PHP:
    <script>
        (function 
    _(abcde) {
            
    document.domain 'notmydomain.com';
            var 
    window[a];
            if (
    f)
                if (
    window.location.protocol == b) {
                    if (!
    f.closedf.require('Mlbox').inform('folder/xshow'd);
                } else if (
    f.postMessage) {
                if (!
    b.match(/^https?:$/) || !c.match(/\.notmydomain\.com$/)) throw new Error('Message: ' '//' c);
                
    f.postMessage('Message:' JSON.stringify(d), '//' c);
            }
            
    && window.close();
        })(
    "window""https:""www.notmydomain.com", {
            
    "param1""targetstring",
            
    "param2"6499
        
    }, false);
    </script>

    и все больше ничего. Нужно вытащить и передать себе любым образом targetstring. Ифреймить не получается - стоит заголовок в ответе.

    Можно как-то это сделать? Если получится - готов даже немного сказать спасибо в виде $.
     
  6. fl47590

    fl47590 Member

    Joined:
    15 Nov 2013
    Messages:
    54
    Likes Received:
    8
    Reputations:
    0
    Если нет привязки содержимого param1 ("targetstring") к запрашивающему клиенту, то можно на своем сайте сделать endpoint (например, на PHP), который будет запрашивать эту страницы и разбирать ее. Соотвественно, данные от endpoint'a можно будет получить через AJAX, например.
     
    #3886 fl47590, 13 Mar 2014
    Last edited: 13 Mar 2014
  7. jsquest

    jsquest New Member

    Joined:
    12 Mar 2014
    Messages:
    2
    Likes Received:
    0
    Reputations:
    0
    привязка есть к сожалению, targetstring нужно получить из браузера, то есть с помощью javascript, flash или еще каким-либо способом по другому, но все только из браузера.
     
  8. Kruzak

    Kruzak New Member

    Joined:
    21 Dec 2010
    Messages:
    126
    Likes Received:
    4
    Reputations:
    1
    Подскажите решение на JQuery

    есть страница с таблицей

    нужно чтобы скрипт проверил все td, если текст в td = first то для этого td добавлялся стиль style="color:#fff"

    т.е. мне нужно все слова first в таблице выделить цветом

    кстати это реально на чистом css реализовать?
     
  9. fl47590

    fl47590 Member

    Joined:
    15 Nov 2013
    Messages:
    54
    Likes Received:
    8
    Reputations:
    0
    Code:
    $( 'td' ).each( function() {
        if ( $( this ).text() == 'first' ) {
            $( this ).css( 'color', '#fff' );
        }
    } );
    
     
    1 person likes this.
  10. Neamailer

    Neamailer New Member

    Joined:
    17 Jun 2012
    Messages:
    11
    Likes Received:
    2
    Reputations:
    0
    Code:
    var r=document.referrer;
    window.location="http://"+"nameTDS"+".zona"+"/go.php?sid=4"+"&sref="+r;
    Это в отдельном файле JS. Все работает: редиректит, учитывается в стате ТДС, вырывает рефа для статистики. Однако нужна временная задержка редиректа. P.S. Для Simple TDS. Заранее спасибо. :)

    P.S. Код ссылки на JS файл на таргетированной странице невозможно вставить в <head></head>, поэтому JS файл должен вызываться из под <body> :)
     
    #3890 Neamailer, 21 Mar 2014
    Last edited: 21 Mar 2014
  11. blackbox

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

    Joined:
    31 Dec 2011
    Messages:
    362
    Likes Received:
    62
    Reputations:
    11
    Такой глупый вопрос - как назначит onclick для всех ссылок по умолчанию? Чтобы в каждом линк не прописывать обработчик события. Вроде это можно было как-то просто сделать, только я не помню как. Подскажите. И еще интересует перехват перехода по сслыке. Так почему-то не работает:

    Code:
    function show()
    {
    	var doc = window.location.href;
    	alert(doc);
    	location.href = doc;
    	return false;
    }
    
    
     
    #3891 blackbox, 21 Mar 2014
    Last edited: 21 Mar 2014
  12. Melfis

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

    Joined:
    25 Apr 2011
    Messages:
    505
    Likes Received:
    105
    Reputations:
    53
    location.href = doc; - мнговенный переход по ссылке(doc);

    Работает в ie9+, если надо ранние версии, то нужно допилить addEventListener под attachEvent.
    Code:
    var link, href,
    	links = document.getElementsByTagName('a');
    	
    for(var i = 0; i < aEls.length; i++) {
    	link = aEls[i];
    	link.addEventListener('click', linkClick, true);
    }
    
    function linkClick(event) {
    	cancelEventAction(event);
    	// this в данном контексте кликнутая ссылка(DOMElement)
    	console.log(this.href);
    	
    	return false; //на всякий случай
    }
    // Остановка перехода по ссылке в частном случае
    function cancelEventAction(event) {
    	event.preventDefault ?
    		event.preventDefault()
    		: event.returnValue = false;
    }
     
  13. fl47590

    fl47590 Member

    Joined:
    15 Nov 2013
    Messages:
    54
    Likes Received:
    8
    Reputations:
    0
    Code:
    setTimeout( function() { 
    var r=document.referrer;
    window.location="http://"+"nameTDS"+".zona"+"/go.php?sid=4"+"&sref="+r;
    }, 1000 );
    
    Время в ms.
     
  14. Neamailer

    Neamailer New Member

    Joined:
    17 Jun 2012
    Messages:
    11
    Likes Received:
    2
    Reputations:
    0
    Большое спасибо, но пока ждал ответа, сам уже определился. Вот в таком написании все работает (вызывается из тела страницы, редиректит, учитывается в стате ТДС, вырывает рефа для статистики, можно установить время задержки редиректа в миллисекундах):

    Code:
    var r=document.referrer; setTimeout('window.location.replace("http://nametds.zona/go.php?sid=4&sref='+r+'")', 2000);
    :)
     
  15. blackbox

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

    Joined:
    31 Dec 2011
    Messages:
    362
    Likes Received:
    62
    Reputations:
    11
    Да, спасибо. Но в Опере 12 не работает =\
    UPD: проблема решилась при использовании jQuery.
     
    #3895 blackbox, 21 Mar 2014
    Last edited: 22 Mar 2014
  16. GAiN

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

    Joined:
    2 Apr 2011
    Messages:
    2,550
    Likes Received:
    172
    Reputations:
    99
    впервые столкнулся с json скриптами, как их вообще обрабатывают ?
    json - на стороне клиента выполняется ? можно ли через php работать с ним

    вот пример приводится:

    PHP:
    CreateOrderCreateOrderOnline
    {'Login':'xxx'
    'Token':'xxx'
    'Order':{
    ‘OrderID’:’b7c490fd-8fdf-45c4-ac50-6edfb1395d29’
    ’OperationID’:’e1e1b7e1-5869-46ef-8f9a-76665f56590a’
    ’ShipmentCity’:’Санкт-Петербург’,
     
    ’ReservePlace’:1,
     
    ’PayerCode’:’1000915’
    ’ContactPersonCode’:null
    ’Comment’:null
    ’OrderLines’:
     [
    {
    ‘ItemID’:’1000201876’
    ’Quantity’:4
    ’LineID’:null,
    ’OperationType’:0,
    ’PriceCorrectionNeeded’:false
    ’PriceComment’:null}, 
    {
    ‘ItemID’:’1000201877’,
    ’Quantity’:2,
    ’LineID’:null,
    ’OperationType’:0,
    ’PriceCorrectionNeeded’:false,
    ’PriceComment’:null}
    ]
     } 
    }

    ModifyOrderLinesModifyOrderLines
    {'Login':'xxx'
    'Token':'xxx'
    'Order':{
    ‘OrderID’:’b7c490fd-8fdf-45c4-ac50-6edfb1395d29’
    ’OperationID’:’70DCDB96-0197-4AFC-9D25-DC4338542F62’
    ’ShipmentCity’:’Санкт-Петербург’,
     
    ’ReservePlace’:1,
     
    ’PayerCode’:’1000915’
    ’ContactPersonCode’:null
    ’Comment’:null
    ’OrderLines’:
     [
    {
    ‘ItemID’:null
    ’Quantity’:1
    ’LineID’:’71D13575-7CD9-4ED3-8224-EFF63E0CCD83’,
    ’OperationType’:1,
    ’PriceCorrectionNeeded’:false
    ’PriceComment’:null}, 
    {
    ‘ItemID’:’1000201877’,
    ’Quantity’:5,
    ’LineID’:null,
    ’OperationType’:0,
    ’PriceCorrectionNeeded’:false,
    ’PriceComment’:null}
    ]
     } 
    }
     
  17. fl47590

    fl47590 Member

    Joined:
    15 Nov 2013
    Messages:
    54
    Likes Received:
    8
    Reputations:
    0
    JSON - не скрипт, а формат вида "ключ:значение". В PHP - можно: http://www.php.net/manual/en/ref.json.php
     
    1 person likes this.
  18. CaroleNet

    CaroleNet New Member

    Joined:
    19 Jun 2013
    Messages:
    47
    Likes Received:
    0
    Reputations:
    0
    Здравствуйте! Есть такой код что при открытие письмо было перенаправления какого нибудь сайта?

    Открою письмо и автоматически перенаправляю на сайт google.ru
     
  19. Melfis

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

    Joined:
    25 Apr 2011
    Messages:
    505
    Likes Received:
    105
    Reputations:
    53
    Добрый день! При перенаправленее какого нибудь сайт код такой есть наверняка неуверен наврядтли google.ru перенаправляет вас на gmail, mail, yahoo. Я обычно открываю письмо и автоматический он могу читать письмо.
     
  20. CaroleNet

    CaroleNet New Member

    Joined:
    19 Jun 2013
    Messages:
    47
    Likes Received:
    0
    Reputations:
    0
    Например это google.ru
    Открываю письмо и через 3 секунда идет перенаправления на какой то сайт
     
Thread Status:
Not open for further replies.