【问题标题】:php code does not work on IE 8php 代码在 IE 8 上不起作用
【发布时间】:2014-04-18 11:21:49
【问题描述】:

已解决:: <div id="slideshow"> <?php echo implode(' ',$images); ?> </div> TO >>> <div id="slideshow"> <div> <?php echo implode(' ',$images); ?> </div> </div>

我的 html/php 代码在所有新版本的浏览器(chrome、firefox、IE 11...)中运行,但是当我尝试让它在 IE 8 上运行时,它无法正常工作!它实际上是一个非常简单的代码,我在 excel 文件中搜索其生日日期 = 今天日期的某些用户。然后在幻灯片中获取他们的照片。

这是代码:

<?php
/** Include path **/
set_include_path(get_include_path() . PATH_SEPARATOR . 'Classes/');
/** PHPExcel_IOFactory */
include 'PHPExcel/IOFactory.php';

$goal = date ('d/m');
$row_counter=0;
$images = array();
$names = array();
$exists_counter=0;

try{
$objReader = PHPExcel_IOFactory::createReader('Excel2007');
$objReader->setReadDataOnly(true);
$objPHPExcel = $objReader->load("employe.xlsx");
$objWorksheet = $objPHPExcel->getActiveSheet();

foreach ($objWorksheet->getRowIterator() as $row) {
$cellIterator = $row->getCellIterator();
$cellIterator->setIterateOnlyExistingCells(false);
$row_counter++;
$bday = $objWorksheet->getCellByColumnAndRow(21,$row_counter)->getFormattedValue();
$ToCompare =substr($bday, 0, 5);
// foreach ($cellIterator as $cell){
if ($goal== $ToCompare){
$name = $objWorksheet->getCellByColumnAndRow(1,$row_counter)->getFormattedValue();
$sex = $objWorksheet->getCellByColumnAndRow(4,$row_counter)->getFormattedValue();
$id = $objWorksheet->getCellByColumnAndRow(0,$row_counter)->getFormattedValue();
$imagename = 'imgs/'.$id.'.jpg';

  if (file_exists($imagename)){
       $images[]='<left><img id='.$exists_counter.' src="imgs/'.$id.'.jpg"  align="middle" border=1 height="470" width="310">BONNE ANNIVERSAIRE!<br> '.$name.'</left><br>';
    }else{
    if($sex== "m" or $sex== "M"){

    $images[]='<left><img id='.$exists_counter.' src="imgs/male.jpg" align="middle" border=1 height="470" width="310">BONNE ANNIVERSAIRE!<br>'.$name.'</left><br>';
    }else{
    $images[]='<left><img id='.$exists_counter.' src="imgs/female.jpg" align="middle" border=1 height="470" width="310">BONNE ANNIVERSAIRE!<br>'.$name.'</left><br>';
    }       
} 
$exists_counter++;
  }
 }
  }catch(Exception $e){
  echo 'MERCI DE VERIFIER l’INTEGRITE DU FICHIER Excel!!! ', "\n";
  }
 ?>
 <!DOCTYPE html>
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
 <title>Birthday Slider</title>

 <style type="text/css">
 #slideshow{
width: 312px;
height: 550px;
    overflow: hidden;
background-image: url(imgs/loader.gif);
background-repeat: no-repeat;
 }
 </style>
 <script src="http://code.jquery.com/jquery-1.9.1.js"></script>
 <script src="http://code.jquery.com/jquery-migrate-1.1.1.js"></script>
 <script src="http://cdn.wideskyhosting.com/js/jquery.cycle.js"></script>
 <script type="text/javascript">
$("document").ready(function(){
    $("#slideshow").cycle({ 
 fx:      'custom', 
 sync: 0, 
 cssBefore: {  
    top:  0, 
    left: 320, 
    display: 'block' 
 }, 
 animIn:  { 
    left: 0 
 }, 
 animOut: {  
    top: 550 
 }, 
 delay: 0,
 timeout: 6500
 });
 })
 </script>
 </head>
 <body style="font-family: Arial, Sans-serif, sans;">
<div id="slideshow">
    <?php echo implode(' ',$images); ?>
</div>
 </body>
 </html>

【问题讨论】:

  • PHP与浏览器无关!!
  • PHP 不依赖于浏览器。
  • 检查 javascript 控制台是否有错误
  • 我是个菜鸟,我认为问题是它的 jquery 问题,我不知道如何克服它,我尝试使用: 但它对我不起作用,因此要么我没有正确使用它,要么这不是问题
  • 只需提供指向您网站 URL 的链接

标签: javascript php jquery html css


【解决方案1】:

正如其他人已经提到的那样,php 与您的浏览器无关。 尝试打开浏览器的控制台(IE 8),看看是否有任何 javascript 语法错误。

这是一个关于如何使用 IE8 调试 javascript 的链接 link

编辑

您正在使用 DOM 中不存在的无关 left 标记。 IE8 对 HTML 标记非常敏感,因此它不会显示或将显示您的 HTML 代码但有错误。 尝试删除这些标签并使用 CSS 对齐您的图像。

【讨论】:

  • ,用户的代码中没有javascript,你能看到吗?
  • 我刚才提到的,调试器没有显示错误
  • 您是否在 php 脚本中使用了 left 标记?
  • 是的,我需要我的滑块位于左上角
  • 我在您使用的左侧标签上找不到任何文档。这样的标签在 DOM 中不存在。 htmldog.com/reference/htmltags 还有其他使用 CSS 对齐元素的方法。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-10-08
  • 1970-01-01
  • 2012-12-04
  • 1970-01-01
  • 2011-05-05
  • 2013-12-15
  • 1970-01-01
相关资源
最近更新 更多