2016-03-10 80 views
1

由於頁面速度優化,我加載了jQuery和其他JavaScript最後的版本如何在CakePHP 2.x中推遲內聯jQuery

現在我必須作出的視圖一個jQuery腳本塊(用PHP混合),但jQuery函數顯然是因爲jQuery是加載之前加載它不會被識別。

我想:

$this->Html->scriptStart(array('inline' => false)); 

,但它甚至不加載它的源代碼。

爲了調試我想:

$this->Html->scriptStart(array('inline' => true)); 

它做負載,但因爲它說,內聯。對我的需求沒有好處。

在所有其他腳本和整個佈局加載後,如何「推遲」inline javascript並最後加載?

其中一個選擇是使用JavaScript做到這一切,但我也會在那裏使用PHP,這就是爲什麼它在視圖中。

回答

1

不要忘記你的佈局,包括:

<? echo $this->fetch('script');?> 

在您看來,以下現在應該工作:

<? $this->Html->scriptStart(array('inline' => false)) ?> 
    //Js goes here 
<? $this->Html->scriptEnd() ?> 
+0

啊,是的,謝謝! '<? echo $ this-> fetch('script');?>'在佈局中丟失了。 – jIsles

0

裹在你準備好DOM功能jQuery代碼

document.addEventListener("DOMContentLoaded", function(event) { 

    }); 
+0

是不是'$(function({})'仍然是一個jQuery函數本身?它不起作用,因爲jQuery尚未加載。 – jIsles

+0

sory updaded我的回答 – madalinivascu