Archive

Archive for the ‘JavaScript’ Category

Използване на php функции в javascript

April 14th, 2009 Venelin Kochev 1 comment

Мислили ли сте някога че възможно да използвате base64_encode / decode , count, explode, file_get_contents, fopen и много други в javascript?
Е това вече е възможно с PHP.JS , а това е пълния списък на функциите.

JavaScript addslashes/stripslashes

May 8th, 2008 Venelin Kochev No comments

Две алтернативи на функциите от PHP за JavaScript:

function addslashes(str) {
  str = str.replace(/\'/g,'\\\'');
  str = str.replace(/\"/g,'\\"');
  str = str.replace(/\\/g,'\\\\');
  str = str.replace(/\0/g,'\\0');
 
  return str;
}
 
function stripslashes(str) {
  str = str.replace(/\\'/g,'\'');
  str = str.replace(/\\"/g,'"');
  str = str.replace(/\\\\/g,'\\');
  str = str.replace(/\\0/g,'\0');
 
  return str;
}

AJAX кеширане в Internet Explorer

April 11th, 2008 Venelin Kochev No comments

Ако използвате GET метод, за изпращане на параметрите в AJAX скрипт, възможно е Internet Explorer да кешира резултата от първия request.
За да се избегне това съществуват няколко “хак-а”.

Номер 1.
вместо:

 
var url = 'getResult.php?username=test';

изплозвайте:

 
var url = 'getResult.php?username=test' + '&nocache=' + new Date().getTime();

Това ще накара IE винаги да опреснява резултата от всяка заявка.

Номер 2.

В някои случаи помага и този вариант:

 
Response.CacheControl = "no-cache";
Response.AddHeader("Pragma", "no-cache");
Response.Expires = -1;

Третия вариант е да използвате POST метод. ;)

Categories: AJAX, IE, JavaScript Tags: , ,

PHP redirect

April 3rd, 2008 Venelin Kochev 1 comment

Случвало ли ви се е да ползвате:

header('Location: http://google.com/');

и в този момента да ви се отговори:

Cannot modify header information – headers already sent by …

и тогава се налага да го заменяте с meta redirect или някакъв redirect с javascript, а също и ob_start(); ob_end_flush(); което си е дразнещо.

Ето една алтернатива:

<?php
 
function redirect($url){
   if (!headers_sent()){
     header('Location: '.$url);
   } else {
     echo '<script type="text/javascript">';
     echo 'window.location.href="'.$url.'";';
     echo '</script>';
     echo '<noscript>';
     echo '<meta http-equiv="refresh" content="0;url='.$url.'" />';
     echo '</noscript>';
  }
}
 
?>

Тази функция проверява дали са изпратени header-ите, ако не са redirect-ва с PHP функцията “header”, ако са изпратени вече redirect-a се прави с javascript, а ако по някаква случайност потребителя няма support на javascript, redirect-a става с meta refresh на HTML

За тези които умуват още, ползва се така:

redirect('http://google.com/');
Categories: HTML, JavaScript, PHP Tags: ,