想在程序中实现通过代码动态加载ActiveX控件,但只要PHP页面中混有Html代码,都无法加载ActiveX控件。以下是调试的代码,请各位帮我看看是什么问题,谢谢~~~环境:
Windows2003+Apache 2.0.63+PHP 4.4.9=========================================HTML与PHP混合(无法加载)=============================
<table>
<tr>
<td width=100>
<?
$str=<<<EOD
<object id="TANGER_OCX" classid="clsid:C9BC4DFF-4248-4a3c-8A49-63A7D317F404" codebase="OfficeControl.cab#version=4,0,1,1" width="20%" height="20%">
        <param name="BorderStyle" value="1">
  <param name="BorderColor" value="14402205">        
  <param name="TitlebarColor" value="14402205">
        <param name="TitlebarTextColor" value="0">  
        <param name="Caption" value="NTKO OFFICE文档控件PHP演示.V4,0,1,1. http://www.ntko.com">
        <param name="IsShowToolMenu" value="-1">
        <param name="IsNoCopy" value="-1">
<SPAN STYLE="color:red">不能装载文档控件。请在检查浏览器的选项中检查浏览器的安全设置。</SPAN></object>
EOD;
echo $str;
?>
</td>
</tr>
<tr>
<td>ActiveX加载测试</td>
</tr>
</table>================================================页面只使用PHP(成功加载)============================
<?
$str=<<<EOD
<object id="TANGER_OCX" classid="clsid:C9BC4DFF-4248-4a3c-8A49-63A7D317F404" codebase="OfficeControl.cab#version=4,0,1,1" width="20%" height="20%">
        <param name="BorderStyle" value="1">
  <param name="BorderColor" value="14402205">        
  <param name="TitlebarColor" value="14402205">
        <param name="TitlebarTextColor" value="0">  
        <param name="Caption" value="NTKO OFFICE文档控件PHP演示.V4,0,1,1. http://www.ntko.com">
        <param name="IsShowToolMenu" value="-1">
        <param name="IsNoCopy" value="-1">
<SPAN STYLE="color:red">不能装载文档控件。请在检查浏览器的选项中检查浏览器的安全设置。</SPAN></object>
EOD;
echo $str;
?>

解决方案 »

  1.   

    自己找到问题了
    <object id="TANGER_OCX" classid="clsid:C9BC4DFF-4248-4a3c-8A49-63A7D317F404" codebase="OfficeControl.cab#version=4,0,1,1" width="20%" height="20%">把%号去了就能正常调用,原因未知,郁闷。
      

  2.   

    这样的情况在ASP中也会发生,没想明白通过代码插入到html页面的控件长宽按比例分配为什么会有问题。
      

  3.   

    最终的解决办法是通过CSS的style样式指定控件的长宽比例,<object id="TANGER_OCX" classid="clsid:C9BC4DFF-4248-4a3c-8A49-63A7D317F404" codebase="OfficeControl.cab#version=4,0,1,1" style="width:100%;height:100%">结帖,希望今后遇到这样的问题能得到解决,谢谢~~~
      

  4.   

    问题应该出在 
    EOD; 这后面有一个空格...你问题没有描述清楚. 无法加载总有原因的.把你的代码 COPY过去. 检查不会是因为 % 号的原因. 最主要还是 EOD; 后面的空格原因.