两行剧本
$this->headScript()->appendFile('/js/global.js', 'text/javascript');
$this->headScript()->appendFile('http://zendbase/js/global.js', 'text/javascript');
Firefox通过两种方式运行脚本(绝对,根相对)
Internet Explorer仅运行第二种追加方法(绝对),即http。这不是一个好方法。 当我在浏览器中查看源时,我可以看到添加了以下行
<script type="text/javascript" src="/js/global.js"></script>
但是浏览器没有阅读。这真的超出了我的理解。它很奇怪。如何在包括IE在内的所有浏览器上使用文档根路径的第一行。 在视图助手中有任何设置吗?或其他什么?
我可以使用$ _Server变量使其绝对动态,但我不想使用绝对路径。
任何想法。在此先感谢:)
答案 0 :(得分:0)
脚本的相对路径肯定会与IE一起使用 - 我已多次使用它...您使用的主机名是什么(例如www.example.com)?您的第二行代码不起作用,因为您没有有效的主机名 - http://zendbase将无法解析任何内容。 zendbase是变量吗?
答案 1 :(得分:0)
对于相对静态资产(图像,JS,CSS,SWF等),您应该始终使用baseUrl
帮助程序,例如
$this->headScript()
->appendFile($this->baseUrl('/js/global.js'));
如果您在源代码中看到了正确的<script>
标记,则问题是路径不正确(请参阅上面的baseUrl
帮助程序)或您的JavaScript包含错误。
答案 2 :(得分:0)
最后我解决了问题
我删除了baseUrl(); ?&gt;“&gt;来自layout.phtml 并在application.ini中添加了以下行 resources.frontController.baseUrl =“”