2012-07-16 60 views
0

我想從php頁面隱藏未使用的js和css文件。如何隱藏特定頁面的js和css文件

某些js文件未被某些頁面使用,所以我想隱藏它們。通過隱藏它們,我可以使網頁更快,並在頁面測試中取得好成績。

我用簡單的php代碼來隱藏一個頁面的代碼。工程很好,該文件對該頁面是隱藏的,對於其他頁面代碼不起作用。這是顯示文本,而不是鏈接,就像在textarea的文字..

<?php 
    function curPageName() { 
     return substr($_SERVER["SCRIPT_NAME"],strrpos($_SERVER["SCRIPT_NAME"],"/")+1); 
    } 
    $currentp=curPageName(); 

    if($currentp=="main1.php"){ 
     echo ""; 
    } else { 
     //works 
     echo "<link type=\"text/css\" rel=\"stylesheet\" href=\"../rws.css\"  />"; 
     /// not works 
     echo "<link type=\"text/css\" rel=\"stylesheet\" href=\"http://img.y.com/rws.css\"  />"; 
    } 
?> 

的代碼適用於/rws.css,如果我用一個http://url.com/rws.css它不會。

+0

有效的HTML將是一個很好的開始。 – 2012-07-16 23:32:19

回答

1

下面的例子:

<?php 

function get_current_file_name() { 
$Exploded_Data = explode(‘/’, $_SERVER['PHP_SELF']); //explode the path to current file to array 
$Exploded_Data = array_reverse ($Exploded_Data); //reverse the arrays order cos php file name is always after last/
$CurrentPage = $Exploded_Data[0]; // assign the php file name to the currentpage variable 
return $CurrentPage; 
} 

$CurrentPage = get_current_file_name(); 

if($CurrentPage!="main1.php"){ 
    echo('<link type="text/css" rel="stylesheet" href="style1.css" />'); 
} 
else if$CurrentPage!="main2.php"){ 
    echo('<link type="text/css" rel="stylesheet" href="style2.css" />'); 
} 


?> 

可以使用__FILE__代替$_SERVER['PHP_SELF']

+0

腳本中的一些小錯誤,很好的工作.. – PHP 2012-07-16 23:49:24

+0

代碼仍然顯示計劃文本,如果我使用http://img.y.com/rws.css,它只能在沒有http:// – PHP 2012-07-16 23:55:50

1

代碼是否獲得正確的當前頁面並且它正在進入ELSE?

您可以使用單引號引號和雙引號內部以確保您不會錯過任何轉義。

if($currentp!="main1.php"){ 
    echo('<link type="text/css" rel="stylesheet" href="http://img.y.com/rws.css" />'); 
} 
+0

它不工作..仍然代碼不可執行。它看起來在計劃文本 – PHP 2012-07-16 23:33:10

+0

它只適用於路徑/rws.css。但如果我使用http://url/rws.css路徑,它不會 – PHP 2012-07-16 23:35:04

+0

你在哪裏「回聲」這個文本?你能分享你完整的代碼嗎? – gmogames 2012-07-16 23:38:25