2020-08-05 htmlオーディオの読み込み+ CSSの負のマージンとインラインブロック+ JSバッチアップロードファイルコンポーネント+ソフトスキルのローカルアドレス

2020-08-05トピックのソース:http://www.h-camel.com/index.html

[html] H5でオーディオをプリロードする方法は?

H5はAudioオブジェクトを追加します。携帯端末h5の実装については、https://www.cnblogs.com/leinov/p/3896772.htmlを参照してください

最も単純:<audio id="myAudio" src="img/RiverFlowsInYou.mp3" autoplay controls loop></audio> //自動再生、表示コントロール、ループ再生

または: <audio id="myAudio" autoplay controls loop> <source src="img/f.mp3" type="audio/mpeg"> </audio>

let obj = document.getElementById( "myAudio");

obj.play(); //再生

obj.pause(); //一時停止

[css] margin属性の負の値は、inline-block要素の下でどのように動作しますか?

参照できます:https://blog.csdn.net/FuChenRenShen/article/details/83930511

[js] jsを使用して、ファイルを一括アップロードするためのコンポーネントを記述します

プラグインなしで、ファイルのバッチアップロードと進行状況の表示を実現するhttps://www.cnblogs.com/chengpanpan/p/7074794.html

<!DOCTYPE html>
	<html>
	<head>
		<meta charset="UTF-8">
		<title>Insert title here</title>
		<link rel="stylesheet" type="text/css" href="./css/NewFile.css">
		
		<script type="text/javascript" src="./js/jquery-1.9.1.min.js"></script>
	
	</head>
	<body>
		<div id="test">
		<input type="file" id="fileMutiply" name="files" multiple="multiple" >
		</div>

		<script>
			/**
			 *
			 */
			var i=0;
			var j=0;
			$(function(){
			
			    $("#fileMutiply").change(function eventStart(){
			        var ss =this.files; //获取当前选择的文件对象
			         for(var m=0;m<ss.length;m++){  //循环添加进度条
			
			                 efileName = ss[m].name ;
			         if (ss[m].size> 1024 * 1024){
			            sfileSize = (Math.round(ss[m].size /(1024 * 1024))).toString() + 'MB';
			            }
			        else{
			            sfileSize = (Math.round(ss[m].size/1024)).toString() + 'KB';
			            }
			
			
			         $("#test").append(
			         "<li  id="+m+"file><div class='progress'><div id="+m+"barj class='progressbar'></div></div><span class='filename'>"+efileName+"</span><span id="+m+"pps class='progressnum'>"+(sfileSize)+"</span></li>");
			
			                 }
			         sendAjax();
			          function sendAjax() {
			                  if(j>=ss.length)   //采用递归的方式循环发送ajax请求
			                {
			                  $("#fileMutiply").val("");
			                       j=0;
			                    return;
			                }
			               var formData = new FormData();
			               formData.append('files', ss[j]);  //将该file对象添加到formData对象中
			                    $.ajax({
			                        url:'fileUpLoad.action',
			                        type:'POST',
			                        cache: false,
			                        data:{},//需要什么参数,自己配置
			                        data: formData,//文件以formData形式传入
			                        processData : false,
			                       //必须false才会自动加上正确的Content-Type
			                       contentType : false ,
			                    /*   beforeSend:beforeSend,//发送请求
			                       complete:complete,//请求完成
			        */            xhr: function(){      //监听用于上传显示进度
			                            var xhr = $.ajaxSettings.xhr();
			                            if(onprogress && xhr.upload) {
			                             xhr.upload.addEventListener("progress" , onprogress, false);
			                             return xhr;
			                            }
			                           } ,
			                        success:function(data){
			
			
			                            $(".filelist").find("#"+j+"file").remove();//移除进度条样式
			                             j++; //递归条件
			                            sendAjax();
			
			                   //     }
			
			                        },
			                        error:function(xhr){
			                          alert("上传出错");
			                        }
			                    });
			
			
			                }
			
			    })
			
			       function onprogress(evt){
			
			          var loaded = evt.loaded;     //已经上传大小情况
			          var tot = evt.total;      //附件总大小
			          var per = Math.floor(100*loaded/tot);  //已经上传的百分比
			         $(".filelist").find("#"+j+"pps").text(per +"%");
			         $(".filelist").find("#"+j+"barj").width(per+"%");
			         };
			
			
			})
		</script>
	</body>
	</html>

【ソフトスキル】127.0.0.1と0.0.0.0の違いは何ですか?

1.ループバックアドレス127.0.0.1:127.0.0.1〜127.255.255.255の場合、これはループバックアドレスです。localhostは、ローカルDNSによって解決された127.0.0.1ドメイン名です。通常、127.0.0.1にpingを実行して、ローカルネットワークが正常かどうかをテストします。

2. 0.0.0.0をもう一度見てください。ルーティングで、完全に一致するルートがルーティングテーブルにない場合の対応するルート。

このアドレスで、サーバー側の0.0.0.0はマシン上のすべてのIPV4アドレスを意味します。0.0.0.0に直接pingすることはできません。IPV4では、これは無効なターゲットアドレスを意味します。

おすすめ

転載: blog.csdn.net/vampire10086/article/details/108357834