WordPress中可以運(yùn)行Javascript。大多數(shù)Javascript在模板文件中運(yùn)行順利,但在文章中運(yùn)行Javascript又是另一回事。 用戶熟悉PHP后可能會(huì)不習(xí)慣Javascript,但卻不得不用Javascript來達(dá)到特定效果。如果你自認(rèn)有能力將WordPress中的PHP代碼、標(biāo)簽或腳本替換成Javascript,那么請(qǐng)便,之后一切操作都會(huì)變得簡(jiǎn)單方便。但如果沒有這樣的能力,請(qǐng)靜下心來看看下面這些內(nèi)容,它會(huì)告訴你如何在WordPress中運(yùn)行Javascript。
在模板文件中運(yùn)行Javascript為了在網(wǎng)站中重復(fù)使用Javascript,用戶可以在header.php模板文件(文件位于meta標(biāo)簽和樣式表單鏈接之間)的<head>部分設(shè)置對(duì)Javascript的調(diào)用。這和在其他HTML頁面中使用Javascript一樣。要將Javascript文件“載入”網(wǎng)站,請(qǐng)?jiān)?lt;head>部分添加如下代碼: <script type="text/javascript" src="/scripts/emailpage.js"></script> 注意要將類型進(jìn)行準(zhǔn)確定義,否則網(wǎng)站無法驗(yàn)證。 在希望使用Javascript的地方設(shè)置對(duì)Javascript的調(diào)用。例如,如果需要用Javascript來為訪問者設(shè)置“email this page”的鏈接,并希望把鏈接放在文章標(biāo)題下方,可以用下面這種方法: < h3 class="storytitle"> <a href="<?php the_permalink() ?>" rel="bookmark"> <?php the_title(); ?></a> </h3> < div class="emailpage"> <script type="text/javascript"><![CDATA[//><!]]></script> </div> 在文章中運(yùn)行Javascript在WordPress文章中使用Javascript,可能相對(duì)麻煩一些。由于只能在一小部分實(shí)例中使用Javascript,因此沒有必要在header.php中添加腳本。 如果用戶偶爾使用Javascript,需要將腳本置入Javascript文件,然后從文章中調(diào)用Javascript。每個(gè)腳本都要由其函數(shù)名定義,例如: function updatepage(){var m="Page updated "+document.lastMo.......} 要將Javascript置入某篇文章,用戶需要聯(lián)合調(diào)用腳本文件和Javascript本身: <script type="text/javascript" src="/scripts/updatepage.js"></script> <script type="text/javascript"> </script> 若JavaScript標(biāo)簽的src屬性被除去,請(qǐng)關(guān)閉富文本編輯器(從控制面板中進(jìn)入U(xiǎn)sers > Persona選項(xiàng))。即使是在HTML彈出窗口中進(jìn)行手動(dòng)編輯,使用富文本編輯器也會(huì)導(dǎo)致Javascript標(biāo)簽的src屬性被除去。 創(chuàng)建一個(gè)多腳本文件用戶可能有一個(gè)不時(shí)會(huì)調(diào)用的腳本集,這可能是一個(gè)計(jì)算區(qū)時(shí)或距離的腳本集,也可能是能在頁面上生成某種特定效果的腳本集。可以考慮將所有腳本集中到一個(gè)文件來循環(huán)調(diào)用Java腳本。 在下面的例子中,我們將多Javascript文件命名為scriptfile.js(用戶可以選擇其它名稱),假設(shè)該文件包含 updatepage,emailpage以及caltimezone腳本。用戶將每個(gè)Javascript復(fù)制到文件中,確保文件的函數(shù)名稱唯一,如 下: function updatepage() {var m="Page updated "+document.lastMo.......} function emailpage() {mail_str = "mailto:?subject=....} function caltimezone() {var timerID ; function tzone(tz, os, ds, cl) {this.ct =......} 將包含所有Javascript的腳本文件放在header.php模板文件(文件位于meta標(biāo)簽和樣式表單鏈接之間)的<head>部分。文件被載入瀏覽器存儲(chǔ)記憶后留在原處,等待其中的腳本被調(diào)用。 <script type="text/javascript" src="/scripts/scriptfile.js"></script> 在文章中希望使用Javascript的位置上,用以下方法調(diào)用: <script type="text/javascript"> </script> 在文章或頁面中使用多Javascript文件使用多Javascript文件中的函數(shù)時(shí),需要在header.php中寫入Javascript引用。如果要在文章或頁面的正文部分寫入腳本引 用,請(qǐng)確保Javascript文件的URL以左斜線("/")開頭,該斜線表示用戶web服務(wù)器的文件根目錄(Apache服務(wù)器則是其 “htdocs”目錄)。 這被稱為絕對(duì)URL。 如果沒有使用起始左斜線,就成為相對(duì)URL ("../../relative/path/to/javacripts/file.js"),相對(duì)URL按照目錄結(jié)構(gòu)中當(dāng)前位置的相對(duì)位置來計(jì)算。使 用相對(duì)URL的用戶需要保留多個(gè)相對(duì)地址,因?yàn)樗@示內(nèi)容的不同部分由不同位置生成。例如,頁面由WordPress根目錄(注意:不是web服務(wù)器的跟 目錄)中的.php模板文件生成,文章則是由所選定主題的目錄("/path-to-wordpress-root/wp-content/themes /yourtheme/partofpost.php")中的.php文件生成。這就是兩種不同的路徑。 Javascript疑難解答可以使用Text Control Plugin來處理將Javascript引入文章時(shí)產(chǎn)生的問題。通過Text Control Plugin,用戶可以在單篇文章或所有文章的基礎(chǔ)上,決定是否關(guān)閉WordPress的自動(dòng)格式化功能,將可執(zhí)行代碼轉(zhuǎn)換為可讀代碼。把需要引入Javascript的文章設(shè)置為No Formatting 或Markup或nl2br或No Character Formatting。用戶可能需要試驗(yàn)一下是否設(shè)置成功。提醒:使用Text Control Pulgin時(shí),用戶需要先保存文章,然后再進(jìn)行編輯,之后才能看到Text Control Pulgin的選項(xiàng)。 選擇No Formatting會(huì)導(dǎo)致文章內(nèi)容集中在一起,這樣就不得不在其中添加段落標(biāo)簽以及其他HTML標(biāo)簽,以達(dá)到平時(shí)WordPress系統(tǒng)自動(dòng)生成的格式效果。 Javascript無法運(yùn)行時(shí),請(qǐng)仔細(xì)檢查是否在avascript復(fù)制到多文件或單個(gè)文件的過程中出錯(cuò)。確保使用文本編輯器而不是文字處理系統(tǒng)來創(chuàng)建Javascript文件。檢查腳本文件和網(wǎng)站上的函數(shù)名稱。有時(shí)Javascript會(huì)與PHP命令產(chǎn)生沖突而導(dǎo)致無法運(yùn)行,但這種情況非常少見。 |
|