有没有办法在加载网站时向代码php / html页面提供或添加js文件。我有500多页,我正在寻找一种方法来为所有页面添加一小段代码。
e.g。 onload www.xyz.com - 在运行时将javascript文件/片段添加到该页面
这个想法是在加载的页面上添加一个javascript片段,这样它就不会是服务器端,它必须是客户端。
下面提供的代码仍然需要我在每个页面上添加检查脚本。
我需要知道是否有办法在网站加载时通过apache提供文件?
答案 0 :(得分:2)
假设你有静态页面,<html><head></head><body>whatever</body></html>
种东西。以下应该工作,并快速解决。我的方法修改了底部结束</body>
标记,但您可以对其进行修改以更改<head>
或打开<body>
标记
<IfModule php5_module>
php_value auto_prepend_file /var/www/vhosts/example.com/httpdocs/auto_prepend.php
php_value auto_append_file /var/www/vhosts/example.com/httpdocs/auto_append.php
</IfModule>
<?php
ob_start();
?>
<?php
$output = ob_get_clean();
$script = file_get_contents($_SERVER['DOCUMENT_ROOT'].'/script.inc');
$output = str_replace('</body>', $script.PHP_EOL.'</body>', $output);
echo $output;
?>
<script>
// using jquery method to attach onload:
jQuery(function(){
// do your js stuff here or load your external js, like with jQuery.getScript() or jQuery.ajax()
// http://api.jquery.com/jQuery.getScript/
// http://api.jquery.com/category/ajax/
});
// or if you want go without a framework and attach your onload event.
// in the most cross browser way see:
// http://stackoverflow.com/questions/1235985/attach-a-body-onload-event-with-js
</script>
答案 1 :(得分:0)
一个典型的用例:jqueryfy http://www.learningjquery.com/2009/04/better-stronger-safer-jquerify-bookmarklet
答案 2 :(得分:0)
您可以调用一个函数,该函数调用正文onload
属性
<body onload="addScript()">
<script type="text/javascript">
function addScript()
{
document.write("<script src='path\/to\/script.js' type=\"text/javascript\"><\/script>");
}
</script>
答案 3 :(得分:-1)
使用上面的Anthony Hatzopoulos解决方案。
ob_start();
在prepend和append(通过htaccess或php.ini)中使用:
<?php
$output = ob_get_clean();
$yourcode = "<yourscript/></body>";
$output = str_replace('</body>', $yourcode, $output);
echo $output;
?>
这对我来说是最好的解决方案。