• Как заставить диалоговые окна на ui jquery работать на мобильных устройствах?

    alexiusp
    @alexiusp
    senior frontend developer
    Я не смог решить эту проблему и перенёс все диалоги на отдельные страницы. Так получилось даже красивее - диалоговые окна съедали довольно много простраства на небольших экранах смартфонов.
    Ответ написан
    Комментировать
  • Vk.api, wall.post на стороннем сайте

    Если я укажу в редиректе https://oauth.vk.com/blank.html, то приложение не сможет спарсить токен.

    Почему это не спарсите?
    Вот работающий пример на php
    $cl = new HTTP_Client;
    $cl->setDefaultHeader("Accept-Encoding", "identity");
    $cl->get("https://oauth.vk.com/authorize?client_id=xxx&scope=video,groups,photos,wall,offline&display=wap&redirect_uri=https://oauth.vk.com/blank.html&response_type=token"); 
    
    $resp = $cl->currentResponse();
    
    $dom = str_get_dom($resp['body']);
    $postData = array();
    foreach ($dom->find("input") as $input)
    {
    	if ($input->name)
    	{
    		$postData[$input->name] = $input->value;
    	}
    }
    $postData['email'] = $urow['login'];
    $postData['pass'] = $urow['pass'];
    $postData['expire'] = '0';
    
    $cl->post($dom->find("form", 0)->action, $postData);
    $resp = $cl->currentResponse();
    if (strstr($resp['url'], "oauth.vk.com/blank.htm"))
    {
    	$oauth_success_url = $resp['url'];
    }
    else
    {
    	$dom->__destruct();
    	unset($dom);
    	$dom = str_get_dom($resp['body']);
    	$cl->get($dom->find("form", 0)->action);
    	$resp = $cl->currentResponse();
    	$oauth_success_url = $resp['url'];
    }
    if (!preg_match("#access_token=([0-9a-f]+)&#", $oauth_success_url, $m))
    {
    	printf("Не удалось авторизоваться vk\n");
    	exit(1);
    }
    $access_token = $m[1];
    echo $access_token."\r\n";
    Ответ написан
    4 комментария