加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – Mediawiki Extension在Header中添加Javascript

发布时间:2020-12-13 13:54:35 所属栏目:PHP教程 来源:网络整理
导读:嗨我的问题是我无法加载一些 javascript文件@我的特殊页面扩展名. 我尝试使用addcript和其他一些方法,但唯一发生的事情是javascript被取消导致no-js的mediawiki软件. 在我的扩展名的文件夹中是一个new.js文件,我只想在我的特殊页面上访问它. 这是一些代码(大
嗨我的问题是我无法加载一些 javascript文件@我的特殊页面扩展名.
我尝试使用addcript和其他一些方法,但唯一发生的事情是javascript被取消导致no-js的mediawiki软件.

在我的扩展名的文件夹中是一个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 );
                 }

    }


 }
 ?>

我希望你能帮助我.

addScript适用于1.16及更早版本.在1.17及更高版本中,您应该使用addHeadItem:
$wgHooks['ParserBeforeTidy'][] = 'wgAddJquery';

function wgAddJquery(&$parser,&$text) {

  global $addJqueryScripts;
  if ($addJqueryScripts === true) return true;

  $parser->mOutput->addHeadItem(
    '<script language="JavaScript" src="https://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js" type="text/javascript"></script>'
  );

  $addJqueryScripts = true;

  return true;

}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读