TypeError:$(…)。dialog不是函数

我试图将一个基本的CMS集成到我的网站,经过三天坚实的努力,我仍然有一个问题! 我已经厌倦了我所知道的一切,做了一些研究并找到了一些答案,但没有一个真正解决了问题。

我使用Firebug来检查错误和错误,显示的错误是:

TypeError: $(...).dialog is not a function. Click: function () { ${this}.dialog('close');window.location.reload();} 

*在这里实时查看: http : //codysilverkin.com/editor使用admin和pass登录,然后当你在编辑器中时 – 尝试点击其中一个编辑图标 – 它假设在对话框中弹出弹出窗口,而不是在新窗口中显示,就像它目前也会显示关闭按钮,但它不是 – 我相信它与此错误有关。

希望我的问题很清楚,如果不是,请让我知道哪个部分,我会尽量使其更简单,任何帮助或建议都会被挪用! 我一直在拉着我的头发,我是全新的!

我将粘贴下面的一些代码,但如果需要,我还上传了要从这里下载的网站文件( http://www.mediafire.com/?5jlxmp04cnf7ulw )。

Frontend_js .php文件:

  
$(document).ready(function(){ $('.sce_edit_link_a, .sce_edit_link_short, .sce_image_link, .sce_file_link').click(function(){ link = $(this).attr('href'); $('#sce_frame').attr('src', link); $( '#edit_mode' ).dialog({ height: 650, width: 860, modal: true, resizable: true, zIndex: 10000, title: '', buttons: [{ text: '', click: function(){ $(this).dialog('close'); window.location.reload();} }] }); return false; }); $('#sce_controlcenter').click(function(){ link = $(this).attr('href'); $('#sce_frame').attr('src', link); $( '#edit_mode' ).dialog({ height: 600, width: 800, modal: true, resizable: false, zIndex: 10000, title: '', buttons: [{ text: '', click: function(){ $(this).dialog('close'); window.location.reload();} }] }); return false; }); $('#sce_reloadpage').click(function(){ window.location.reload(); return false; }); });

simpleCE .php文件:

 login()==true){ echo(''); require_once(sce_root.'/frontend_js.php'); } $this->close(); } function head($jquery=true){ if(xhtml==true){ $xhtml = ' /'; }else{ $xhtml = ''; } if($this->login()==true){ echo(''."\n"); echo(''."\n"); echo(''."\n"); }else{ if( $colorbox == true ){ echo(''."\n"); }elseif( $jquery == true ){ echo(''."\n"); } } } function systemPage(){ if($this->login()!=true){ header('Location: '.root_url.'/'.sce_folder.'/index.php'); } } function loopStart($id,$pageBreak=0){ global $loopID, $loops, $loopI,$pageBreak; if($pageBreak login()!=true){ $pageBreak = 0; }else{ $pageBreak = $pageBreak; } $sql = 'SELECT * FROM `sce_loops` WHERE `loop_id` = '.$id.' LIMIT 0,1'; $result = mysql_query($sql); $num_rows = mysql_num_rows($result); if($num_rows != 0){ $row = mysql_fetch_assoc($result); mysql_free_result($result); $loopI = 0; $loops = $row['rows']; $loopID = $row['loop_id']; if($this->login()==true){ echo(''); } }elseif($this->login()==true){ $sql = 'INSERT INTO `sce_loops` (`id`, `loop_id`, `rows`) VALUES (NULL, '.$id.', 1)'; mysql_query($sql) or die(mysql_errno().': '.mysql_error()); } } function loopController(){ global $loopID, $loops, $loopI,$pageBreak; if($loopI>=$pageBreak && $this->login()!=true && $pageBreak>0){ return(false); } if($loopI >= $loops){ $loopID = NULL; $loops = NULL; $loopI = NULL; return( false ); }else{ $loopI++; return( true ); } } function loopStop(){ global $loopID, $loops, $loopI; if($this->login()==true){ $moveLinks = ''; if($loopI!=1){ $moveLinks .= ''; } if($loopI!=$loops){ $moveLinks .= ''; } if($loopI==$loops){ $class = ' sce_loop_last'; }else{ $class= ''; } echo(''); } } function loopID($id){ global $loopID, $loops, $loopI; if(!empty($loopID)){ return($id.$loopID); }else{ return($id); } } function isLoop(){ global $loopID, $loops, $loopI; if(!empty($loopID)){ return(true); }else{ return(false); } } function saveText($id, $text, $mode){ $sql = 'UPDATE `sce_text` SET `text` = \''.mysql_real_escape_string($text).'\', `modified` = NOW() WHERE `id` = '.mysql_real_escape_string($id); mysql_query($sql) or die(mysql_errno().': '.mysql_error()); } function text($id,$mode='long', $options=false){ global $loopID, $loops, $loopI; if($this->isLoop()){ $sql = 'SELECT * FROM `sce_text` WHERE `sce_id` = '.mysql_real_escape_string($id).' AND `loop_id` = '.mysql_real_escape_string($loopID).' AND `loop_row` = '.mysql_real_escape_string($loopI).' LIMIT 0,1'; }else{ $sql = 'SELECT * FROM `sce_text` WHERE `sce_id` = '.mysql_real_escape_string($id).' AND ( `loop_id` IS NULL OR `loop_id` = \'\' ) LIMIT 0,1'; } $result = mysql_query($sql); $num_rows = mysql_num_rows($result); if($num_rows != 0){ $row = mysql_fetch_assoc($result); mysql_free_result($result); $text = stripslashes($row['text']); if($mode=='long' || $mode=='short'){ $text = nl2br($text); if(xhtml!=true){ $text = str_replace('
', '
', $text); } } if(xhtml==true){ $xhtml = ' /'; }else{ $xhtml = ''; } if($this->login()==true){ if($mode=='long' || $mode=='editor'){ echo '
'.$options['before'].$text.$options['after'].'
'; }else{ echo $options['before'].' '.$text.$options['after']; } }else{ $text = trim($text); if(!empty($text)){ echo $options['before'].$text.$options['after']; } } }elseif($this->login()==true){ if($this->isLoop()){ $sql = 'INSERT INTO `sce_text` (`id`, `sce_id`, `text`, `loop_id`, `loop_row`, `created`, `modified`) VALUES (NULL, '.mysql_real_escape_string($id).', \'\', '.mysql_real_escape_string($loopID).', '.mysql_real_escape_string($loopI).', NOW(), NOW())'; }else{ $sql = 'INSERT INTO `sce_text` (`id`, `sce_id`, `text`, `created`, `modified`) VALUES (NULL, '.mysql_real_escape_string($id).', \'\', NOW(), NOW())'; } mysql_query($sql) or die(mysql_errno().': '.mysql_error()); } } function image($id, $options=NULL){ global $loopID, $loops, $loopI; if($this->isLoop()){ $sql = 'SELECT * FROM `sce_images` WHERE `sce_id` = '.mysql_real_escape_string($id).' AND `loop_id` = '.mysql_real_escape_string($loopID).' AND `loop_row` = '.mysql_real_escape_string($loopI).' LIMIT 0,1'; }else{ $sql = 'SELECT * FROM `sce_images` WHERE `sce_id` = '.mysql_real_escape_string($id).' AND ( `loop_id` IS NULL OR `loop_id` = \'\' ) LIMIT 0,1'; } if(xhtml==true){ $xhtml = ' /'; }else{ $xhtml = ''; } $result = mysql_query($sql); $num_rows = mysql_num_rows($result); if($num_rows != 0){ $row = mysql_fetch_assoc($result); mysql_free_result($result); if($row['path']){ if($row['link']){ $aBefore = ''; $aAfter = ''; }else{ $aBefore = ''; $aAfter = ''; } if($row['lightbox']==1){ if(!$options['lightbox']){ $options['lightbox'] = 'lightbox'; } $aBefore = ''; $aAfter = ''; } if($options['phpThumb']){ $phpThumb = '&'.$options['phpThumb']; }else{ $phpThumb = ''; } $imgTag = $aBefore.''.stripslashes($row['alt']).''.$aAfter; }else{ $imgTag = ''; } if($this->login()==true){ echo ''; }else{ echo($imgTag); } }elseif($this->login()==true){ if($this->isLoop()){ $sql = 'INSERT INTO `sce_images` (`id`, `sce_id`, `path`, `alt`, `link`, `lightbox`, `loop_id`, `loop_row`) VALUES (\'\', '.mysql_real_escape_string($id).', \'\', \'\', NULL, NULL, '.mysql_real_escape_string($loopID).', '.mysql_real_escape_string($loopI).')'; }else{ $sql = 'INSERT INTO `sce_images` (`id`, `sce_id`, `path`, `alt`, `link`, `lightbox`, `loop_id`, `loop_row`) VALUES (\'\', '.mysql_real_escape_string($id).', \'\', \'\', NULL, NULL, NULL, NULL)'; } mysql_query($sql) or die(mysql_errno().': '.mysql_error()); } } function file($id, $options=NULL){ global $loopID, $loops, $loopI; if($this->isLoop()){ $sql = 'SELECT * FROM `sce_files` WHERE `sce_id` = '.mysql_real_escape_string($id).' AND `loop_id` = '.mysql_real_escape_string($loopID).' AND `loop_row` = '.mysql_real_escape_string($loopI).' LIMIT 0,1'; }else{ $sql = 'SELECT * FROM `sce_files` WHERE `sce_id` = '.mysql_real_escape_string($id).' AND ( `loop_id` IS NULL OR `loop_id` = \'\' ) LIMIT 0,1'; } $result = mysql_query($sql); $num_rows = mysql_num_rows($result); if($num_rows != 0){ $row = mysql_fetch_assoc($result); mysql_free_result($result); if($row['path']){ if($options['target']){ $target = ' target="'.$options['target'].'"'; }else{ $target = ''; } if($options['class']){ $class = ' class="'.$options['class'].'"'; }else{ $class = ''; } if($options['id']){ $aid = ' id="'.$options['id'].'"'; }else{ $aid = ''; } $fileLink = ''.$row['text'].''; $editText = ''; }else{ $fileLink = ''; $editText = lang_upload_file; } if($this->login()==true){ echo '
'.$editText.''.$fileLink.'
'; }else{ echo($fileLink); } }elseif($this->login()==true){ if($this->isLoop()){ $sql = 'INSERT INTO `sce_files` (`id`, `sce_id`, `path`, `text`, `loop_id`, `loop_row`) VALUES (\'\', '.mysql_real_escape_string($id).', \'\', \'\', '.mysql_real_escape_string($loopID).', '.mysql_real_escape_string($loopI).')'; }else{ $sql = 'INSERT INTO `sce_files` (`id`, `sce_id`, `path`, `text`, `loop_id`, `loop_row`) VALUES (\'\', '.mysql_real_escape_string($id).', \'\', \'\', NULL, NULL)'; } mysql_query($sql) or die(mysql_errno().': '.mysql_error()); } } function newsLoop($options){ if(empty($options['show']) || !is_numeric($options['show'])){ $options['show'] = 3; } if( strtolower($options['order']) != 'asc' || strtolower($options['order']) != 'desc' ){ $options['order'] = 'ASC'; } if($options['headlineID']){ $headlineSQL = ' OR `sce_id`='.$options['headlineID']; $options['show'] = $options['show']*2; }else{ $headlineSQL = ''; } $sql = 'SELECT * FROM `sce_text` WHERE `loop_id`='.$options['loopID'].' AND (`sce_id`='.$options['textID'].$headlineSQL.') ORDER BY `loop_row` '.$options['order'].' LIMIT 0,'.$options['show']; $result = mysql_query($sql); while( $row=mysql_fetch_assoc($result) ){ switch ($row['sce_id']){ case $options['textID']: $row['text'] = preg_replace("/^[^a-z0-9]?(.*?)[^a-z0-9]?$/i", "$1", $row['text']); echo($options['textBefore'].substr($row['text'], 0, $options['textTrim']).'...'.$options['readMoreLink'].$options['textAfter']); break; case $options['headlineID']: $row['text'] = preg_replace("/^[^a-z0-9]?(.*?)[^a-z0-9]?$/i", "$1", $row['text']); echo($options['headlineBefore'].substr($row['text'], 0, $options['headlineTrim']).$options['headlineAfter']); break; } } } function getExtension($str) { $i = strrpos($str,'.'); if (!$i) { return ''; } $l = strlen($str) - $i; $ext = substr($str,$i+1,$l); return $ext; } function countTableEntries($table,$countEmpty=false){ if($countEmpty==false){ $sql = 'SELECT * FROM `'.mysql_real_escape_string($table).'`'; }else{ $sql = 'SELECT * FROM `'.mysql_real_escape_string($table).'` WHERE `'.mysql_real_escape_string($countEmpty).'` = \'\' OR `'.mysql_real_escape_string($countEmpty).'` IS NULL'; } $result = mysql_query($sql); $num_rows = mysql_num_rows($result); return($num_rows); } function dbStatus(){ $AllEntries = $this->countTableEntries('sce_text') + $this->countTableEntries('sce_images') + $this->countTableEntries('sce_files'); $EmptyEntries = $this->countTableEntries('sce_text', 'text') + $this->countTableEntries('sce_images', 'path') + $this->countTableEntries('sce_files', 'path'); $percent = @round( ($EmptyEntries / $AllEntries) * 100 ); return($percent); } function dbOptimize(){ $sql = 'DELETE FROM `sce_text` WHERE `text` = \'\' OR `text` IS NULL'; $sql2 = 'OPTIMIZE TABLE `sce_text`'; mysql_query($sql); mysql_query($sql2); $sql = 'DELETE FROM `sce_files` WHERE `path` = \'\' OR `text` IS NULL'; $sql2 = 'OPTIMIZE TABLE `sce_files`'; mysql_query($sql); mysql_query($sql2); $sql = 'DELETE FROM `sce_images` WHERE `path` = \'\' OR `text` IS NULL'; $sql2 = 'OPTIMIZE TABLE `sce_images`'; mysql_query($sql); mysql_query($sql2); } function actURL(){ $url = (isset($_SERVER['HTTPS'])?'https':'http').'://' . $_SERVER['HTTP_HOST'] . dirname($_SERVER['REQUEST_URI']); $url = str_ireplace('/'.sce_folder.'/setup', '', $url); return($url); } function actPath(){ $path = dirname(__FILE__); $path = str_ireplace('/libraries', '', $path); return($path); } function checkPermissions(){ $config = '../config.php'; $uploads = '../uploads/'; $uploadsC = '../uploads/cache/'; if(version_compare(PHP_VERSION, '5.1.0') >= 0){ $output = '» PHP-Version: '.phpversion().'
'; }else{ $output = '» PHP-Version: '.phpversion().'
'; } if(is_writable($config)){ $output .= '» '.lang_setup_permissions_config_good.'
'; }else{ $output .= '» '.lang_setup_permissions_config_bad.'
'; } if(is_writable($uploads)){ $output .= '» '.lang_setup_permissions_uploads_good.'
'; }else{ $output .= '» '.lang_setup_permissions_uploads_bad.'
'; } if(is_writable($uploadsC)){ $output .= '» '.lang_setup_permissions_uploads_cache_good.'
'; }else{ $output .= '» '.lang_setup_permissions_uploads_cache_bad.'
'; } return($output); } function createConfig($data){ $confTemplate = '../config.example.php'; $loadConfigTemplate = file_get_contents($confTemplate) or die('Can\'t load: '.$confTemplate); $username = $data['username']; $password = $data['password']; $url = $data['url']; $path = $data['path']; $lang = $data['lang']; $sql_server = $data['sql_server']; $sql_username = $data['sql_username']; $sql_password = $data['sql_password']; $sql_db = $data['sql_db']; if($data['html']=='html'){ $html = 'false'; }else{ $html = 'true'; } if( !empty($username) && !empty($password) && !empty($url) && !empty($path) && !empty($sql_server) && !empty($sql_username) && !empty($sql_db) && !empty($html) ){ $loadConfigTemplate = str_replace('MYSQL_HOST', $sql_server, $loadConfigTemplate); $loadConfigTemplate = str_replace('MYSQL_DATABASE', $sql_db, $loadConfigTemplate); $loadConfigTemplate = str_replace('MYSQL_USER', $sql_username, $loadConfigTemplate); $loadConfigTemplate = str_replace('MYSQL_PW', $sql_password, $loadConfigTemplate); $loadConfigTemplate = str_replace('FRONTEND_URL', $url, $loadConfigTemplate); $loadConfigTemplate = str_replace('XHTML_SETTING', $html, $loadConfigTemplate); $loadConfigTemplate = str_replace('SIMPLECE_PATH', $path, $loadConfigTemplate); $loadConfigTemplate = str_replace('SIMPLECE_FOLDER', 'simpleCE', $loadConfigTemplate); $loadConfigTemplate = str_replace('SIMPLECE_LANG', $lang, $loadConfigTemplate); $loadConfigTemplate = str_replace('SIMPLECE_USER', $username, $loadConfigTemplate); $loadConfigTemplate = str_replace('SIMPLECE_PW', md5($password), $loadConfigTemplate); $fp = fopen('../config.php', 'w+') or die('Can\'t open / create config.php!'); fwrite($fp, $loadConfigTemplate); fclose ($fp); return(60); }else{ return('Please fill out all fields in the form!'); } } function installDB(){ $sce_files = ' CREATE TABLE sce_files ( id int(11) NOT NULL auto_increment, sce_id int(11) NOT NULL, path varchar(500) NOT NULL, `text` varchar(200) NOT NULL, loop_id int(11) default NULL, loop_row int(11) default NULL, PRIMARY KEY (id) ) DEFAULT CHARSET=utf8;'; $sce_images = ' CREATE TABLE sce_images ( id int(11) NOT NULL auto_increment, sce_id int(11) NOT NULL, path varchar(400) NOT NULL, alt varchar(200) NOT NULL, link varchar(400) default NULL, lightbox int(11) default NULL, loop_id int(11) default NULL, loop_row int(11) default NULL, PRIMARY KEY (id) ) DEFAULT CHARSET=utf8;'; $sce_loops = ' CREATE TABLE sce_loops ( id int(11) NOT NULL auto_increment, loop_id int(11) NOT NULL, `rows` int(11) NOT NULL, PRIMARY KEY (id) ) DEFAULT CHARSET=utf8;'; $sce_text = ' CREATE TABLE sce_text ( id int(11) NOT NULL auto_increment, sce_id int(11) NOT NULL, `text` text NOT NULL, loop_id int(11) default NULL, loop_row int(11) default NULL, created datetime NOT NULL, modified datetime NOT NULL, PRIMARY KEY (id) ) DEFAULT CHARSET=utf8;'; if( mysql_query($sce_files) && mysql_query($sce_images) && mysql_query($sce_loops) && mysql_query($sce_text) ){ return(100); }else{ return(mysql_errno().': '.mysql_error()); } } } $simpleCE = new simpleCE(); ?>

您有两个版本的jQuery包含在页面1.10.1( )和1.8.3( ),删除第二个包含,它将正常工作。

这里jQuery UI库被添加到jQuery 1.8.3(第一个),然后当包含jQuery 1.10.1时,所以当你在页面中引用jQuery时,它引用的是1.10.1版,其中UI不可用

您正在同一页面上加载两个不同的jquery库,1.8.3使用ui,1.10.1不使用ui。 我的猜测是后者加载1.10.1覆盖1.8.3因此ui支持随之消失。 请先解决这个问题,看看它是怎么回事。

这是我刚刚做的noob失败错误…希望它可以帮助某人:

我的“jqueryui”包含在我的页面中但不断得到“.dialog不是函数”错误…

问题是我实际上在页面上包含了jquery.ui.custom.min.js。

注意“ 自定义 ”……这意味着整个库不存在,猜猜是什么 – ‘对话’api没有包含在我正在使用的自定义版本中……呃。

解决方案 – 转到jqueryui站点并获取另一个包含“对话框”的自定义versiob。