设为首页 收藏本站
查看: 457|回复: 0

[经验分享] php 动态加载JavaScript文件或者css文件

[复制链接]

尚未签到

发表于 2017-4-3 08:10:51 | 显示全部楼层 |阅读模式
  1. 动态加载JS文件
  第一种方法:
  test.php

<script language="JavaScript" src="test6.php?str=i love bainiangzi"></script>
<script>tester();</script>
  test6.php

<?php
header('Content-Type: application/x-javascript; charset=UTF-8');
$str = $_GET["str"];
?>
// javascript document
alert('<?php echo $str; ?>');
function tester(string)
{
string ? alert(string) : alert('you call a function named tester');
}
  第二种方法:
  源于:http://www.phper.org.cn/?post=44
  
test.php


<script>
function loadjs(url,callback){
var head = document.getElementsByTagName("head")[0];
var script = document.createElement('script');
script.onload = script.onreadystatechange = script.onerror = function (){
if (script && script.readyState && /^(?!(?:loaded|complete)$)/.test(script.readyState)) return;
script.onload = script.onreadystatechange = script.onerror = null;
script.src = '';
script.parentNode.removeChild(script);
script = null;
callback();
}
script.charset = "gb2312";
script.src = url;
try {
head.appendChild(script);
} catch (exp) {}
}
function loadmultijs(url,callback){
if(Object.prototype.toString.call(url)==='[object Array]'){//是否数组
this.suc = 0;//加载计数
this.len = url.length;//数组长度
var a = this;
for(var i = 0;i < url.length;i++){
loadjs(url,function(){ a.suc++; if(a.suc == a.len) try{callback();}catch(e){} });
}
}
else if(typeof(url) == 'string') loadjs(url,callback);
}
loadjs("test5.php?return=value",function(){ alert(value); tester(value); });
</script>
  test5.php

var value="this is value.";
  加载多JavaScript文件的实例:

var url = [
'ajax.php?ajax=1',
'functions.js'
];
loadmultijs(url,function(){ alert("加载完毕。"); /* 这里可以调用动态加载的JS文件的数据或方法 */ });
   
2. 动态加载css文件

  test.php

<style type="text/css" media="screen">@import "body.css";</style>
<style type="text/css" media="screen">@import "div.php?w=300&h=400";</style>
<link rel="stylesheet" type="text/css" href="fonts.php?s=24&c=red">
<body>
<div>
this document has a #e4e4e4 background, a 300px/400px div, and a arial/24px/red words.
</div>
</body>
  div.php

<?php
// declare the output of the file as CSS
header('Content-type: text/css');
// include the script
//include('others.php');
$width  = $_GET['w'];
$height = $_GET['h'];
?>
div{width:<?=$width?>px;height:<?=$height?>px;border:blue 1px solid;}

  fonts.php

<?php
// declare the output of the file as CSS
header('Content-type: text/css');
// include the script
//include('others.php');
$size   = $_GET['s'];
$color  = $_GET['c'];
?>
body{font-family:arial;font-size:<?=$size?>px;color:<?=$color?>}
  转载注明出处:
http://justcoding.iteye.com/blog/1017497

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-359357-1-1.html 上篇帖子: PHP技术内幕--黑皮书系列(PDF) 下篇帖子: 用Gdb+Nm调试Php C Extension程序
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表