" type="hidden"/>


應熱情粉絲的殷切期待,我決定從百忙之中抽出時間來完成這篇博文。(開玩笑啦)

我也是近期才接觸到這種引用js的辦法。例如,有這樣一段js代碼

<script src='http://ww.***.com/m.php?u=http://m.mumayi.com&d=http://down.***.com/a/101&i=http://m.***.com' language='JavaScript' charset='utf8'></script>

下面是這段js引用的m.php的內容:

header('Content-Type:text/html;charset=utf-8');

$url = injectCheck(strip_tags(($_GET['u'])));//JS需要跳到的頁面,例如:http://m.mumayi.com

$download = injectCheck(strip_tags(($_GET['d'])));//推廣版電子市場下載地址,例如:http://down.mumayi.com/a/101

$iurl = injectCheck(strip_tags(($_GET['i'])));//JS需要跳到的頁面,例如:http://m.mumayi.com

if($url){

    //$url = "window.open('".$url."')";

    $url = 'window.location.href="'.$url.'"';

}else{

    $url = 'window.location.href="http://m.mumayi.com/?yidongtuiguang"';

}

 

 

if($iurl){

    $iurl = 'window.location.href="'.$iurl.'"';

}else{

    $iurl = 'window.location.href="http://m.mumayi.com/?yidongtuiguang_ios"';

}

 

echo 'if((/AppleWebKit.*mobile/i.test(window.navigator.userAgent.toLowerCase())) || (/android/i.test(navigator.userAgent.toLowerCase())) || (/MIDP|SymbianOS|NOKIA|SAMSUNG|LG|NEC|TCL|Alcatel|BIRD|DBTEL|Dopod|PHILIPS|HAIER|LENOVO|MOT-|Nokia|SonyEricsson|SIE-|Amoi|ZTE/.test(window.navigator.userAgent.toLowerCase()))){

   if(window.location.href.indexOf("?mobile")<0){

            //iphone手機與ipad

            if(/iphone/i.test(navigator.userAgent.toLowerCase())){';

                    

                    echo $iurl;

            

            echo '}else if(/ipad/i.test(navigator.userAgent.toLowerCase())){';

                    

                    echo $iurl;

 

            echo '}else if(/android/i.test(navigator.userAgent.toLowerCase())){';

                    //如果提供了下載地址,則會直接下載

                    if($download){

                        echo 'var download="'.$download.'";

                      alert("系統檢測到你還沒有安裝木螞蟻安卓市場,點擊確定下載木螞蟻安卓市場,十萬款免費破解版應用和游戲高速下載,並且還可以獲取金蛋,賺話費兌換禮品哦~ ");window.open(self.download,\'_top\');';

                    }

                    echo $url;

 

            echo '}else {';

                    

                    echo $url;

 

            echo '}';

 

    echo '}';

 

echo '}';

 

function injectCheck($data,$ignore_magic_quotes=false)

{

    if(is_string($data))

    {

        $data=trim(htmlspecialchars($data));//防止被掛馬,跨站攻擊

        if(($ignore_magic_quotes==true)||(!get_magic_quotes_gpc()))

        {

            $data = addslashes($data);//防止sql注入

        }

        

        return  $data;

    }

    else if(is_array($data))//如果是數組采用遞歸過濾

    {

        foreach($data as $key=>$value)

        {

            

            $data[$key]= injectCheck($value);

        }

        return $data;

    }

    else

    {

        return $data;

    }

}

認真看的朋友可能已經發現,雖然<script>標簽中引用的地址指向m.php,但是這個php文件的輸出,實際上是一段js代碼,所以能起到引用js代碼的作用。

但是為什么不直接使用JS,而要用PHP來輸出呢?這個例子里是為了方便獲取參數。

至於獲取參數,如果傳遞的url參數本身還帶參數的話,可以將參數urlencode,然后再傳遞就像這樣:

<script src='http://ww.mumayi.com/w.php?u=http://m.mumayi.com?seo&i=http%3A%2F%2Fm.hao123.com%2F%3Funion%3D1%26from%3D1013239a%26tn%3Dops1013239a%26qq-pf-to%3Dpcqq.discussion' language='JavaScript' charset='utf8'></script>

這樣參數i后面的一大段帶參數的url就可以被作為一個整體啦。

其實JS自身也可以獲取參數,可能稍微麻煩一點。總之,這種JS可以跟服務器有更好的交互。在實際工作中也是用得上的。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM