嗨,我的問題是,我不能加載一些JavaScript文件@我的特殊頁面擴展名。 我嘗試過用addscript和其他一些方法,但唯一發生的事情是javascript被取消導致了mediawiki軟件的no-js。Mediawiki擴展在標題中添加Javascript
在我的擴展名的文件夾中是一個new.js文件,我只想訪問我的特殊頁面。
這是一些代碼(大部分是特殊頁面的例子)。
MyExentions.php
<?php
if (!defined('MEDIAWIKI')) {
echo <<<EOT
To install my extension, put the following line in LocalSettings.php:
require_once("$IP/extensions/MyExtension/MyExtension.php");
EOT;
exit(1);
}
$wgExtensionCredits['specialpage'][] = array(
'path' => __FILE__,
'name' => '-',
'author' => 'Thomas Döring',
'descriptionmsg' => '-',
'version' => '0.0.1',
);
$dir = dirname(__FILE__) . '/';
$wgAutoloadClasses['SpecialMyExtension'] = $dir . 'SpecialMyExtension.php';
$wgExtensionMessagesFiles['MyExtension'] = $dir . 'MyExtension.i18n.php';
$wgExtensionMessagesFiles['MyExtensionAlias'] = $dir . 'MyExtension.alias.php';
$wgSpecialPages['MyExtension'] = 'SpecialMyExtension';
SpecialMyExtension.php
<?php
class SpecialMyExtension extends SpecialPage {
function __construct() {
parent::__construct('MyExtension');
}
function execute($par) {
$request = $this->getRequest();
$output = $this->getOutput();
$this->setHeaders();
# Get request data from, e.g.
$param = $request->getText('param');
# Do stuff
# ...
if(file_exists("extensions/TimeLine/TimeLine/data.xml"))
{
$data = simplexml_load_file("extensions/TimeLine/TimeLine/data.xml");
foreach($data->event as $event)
{
$html.="<tr><td>".$event['title']."</td><td>".$event['start']."</td></tr>";
}
$html.="</table>";
$html.="<a href=\"javascript:hello()\">klick</a>";
$output->addHTML($html);
}
else
{
$wikitext = 'Datei nicht gefunden!';
$output->addWikiText($wikitext);
}
}
}
?>
我希望你能幫助我。
在哪裏你的代碼是否包含任何添加JS的方法? – Bergi
你知道[RessourceLoader](http://www.mediawiki.org/wiki/ResourceLoader/Developing_with_ResourceLoader)? – Bergi