var style=document.createElement("style") style.innerHTML=` @charset "UTF-8"; [qd_login_links='login']:before{content:'既にIDをお持ちの方のログインはこちら';} [qd_login_links='reset_password']:before{content:'パスワードを忘れた場合はこちら';} [qd_login_links='register_new']:before{content:'新規登録はこちら';} [qd_login_links]{display:block;} [qd_login_menu='login']:before{content:'';} .qd_form[action='#login'] button[type='qd_submit']:before{content:'ログイン';} .qd_form[action='#register_new'] button[type='qd_submit']:before{content:'新規登録';} .qd_form[action='#reset_password'] button[type='qd_submit']:before{content:'リセット';} .qd_form[action='#input_code_ajax'] button[type='qd_submit']:before{content:'コードを確認';} /* ダミーを消す場合はライブラリを読み込んだときに処理数る [type='dummy']{ display:none; } */ /* ロード中の要素の表示を修正 */ [qd_loading='1']{ opacity:.1; } [view]{ transition:opacity .3s; } /* body:not([debug_mode='1'])>div[qd_error_console], */ body:not([qd_developer_mode='1'])>div[qd_error_console]{ display:none; } body>div[qd_error_console]:empty{ display:none; } body>div[qd_error_console]{ position:fixed; bottom:0; right:0; background:rgba(255,255,255,.8); border:1px solid gray; z-index:100000; min-height:300px; min-width:300px; max-width:600px; pointer-events:none; } [type$='format']:not(tr):not([copied]) { /* display: none; */ max-height:1px !important; max-width:1px !important; overflow:hidden !important; opacity:0 !important; margin:0 !important; padding:1px !important; pointer-events:none; /* display:blockを無理につけると制御で動かないシステムあり */ /* display:block !important; */ /* position :fixedとかつけるとアクティブロード(後からロード)できなくなるみたい */ /* position:fixed; */ top:0; left:0; z-index:10000; /* display:flex !important; */ /* displayはblockで良し、なぜなら要素としてだすだけだから */ } tr[type$='format']:not([copied]) { display: none; max-height:1px !important; max-width:1px !important; overflow:hidden !important; opacity:0 !important; margin:0 !important; padding:1px !important; pointer-events:none; /* displayはblockで良し、なぜなら要素としてだすだけだから */ } tr[copied] + tr[type$='format']:not([copied]) { /* display:table !important; */ } tr[type$='format']:not([copied])>:where(td,th){ /* display:none; */ } /* ロード中の背景変更 */ body[openhttps]:not([openhttps='0'])>*:not([qd_info_window]){ pointer-events:none; /* opacity:.3; */ /* background:rgba(50,50,50,.7); */ transition:opacity .3s,background-color .1s; } body>*{ transition:opacity 1s,background-color 1s; } /* loading時のアニメーション */ body[openhttps]{--openhttps:attr(openhttps);} body{ --memory_usage_meter:0; --loading_meter:0; } body[openhttps='0']{--openhttps:'No';} body[openhttps='1']{--openhttps:'1';} body[openhttps='2']{--openhttps:'2';} body[openhttps='3']{--openhttps:'3';} body[openhttps='4']{--openhttps:'4';} body[openhttps='5']{--openhttps:'5';} body[openhttps='6']{--openhttps:'6';} body[openhttps='7']{--openhttps:'7';} body[openhttps='8']{--openhttps:'8';} body[openhttps='9']{--openhttps:'8';} body[openhttps='10']{--openhttps:'10';} body[openhttps='11']{--openhttps:'11';} body[openhttps='12']{--openhttps:'12';} body[openhttps='13']{--openhttps:'13';} body[openhttps='14']{--openhttps:'14';} body[openhttps='15']{--openhttps:'15';} body[openhttps='16']{--openhttps:'16';} body[openhttps='17']{--openhttps:'17';} body[openhttps='18']{--openhttps:'18';} body[openhttps='19']{--openhttps:'19';} body[openhttps='20']{--openhttps:'20';} body:not([openhttps]) [qd_info_window], body[openhttps='0'] [qd_info_window]{ pointer-events:none; opacity:0; transition:opacity .8s .2s; } body[openhttps='0'] [gauge]{ pointer-events:none; opacity:0; display:none; } /* ローディングアイコンの位置及びサイズ調整 */ [qd_loading_info_container]{ transform: scale(.3,.3) translateY(-10%) translateX(10%); transform-origin: bottom right; } /* アイコンのカラーパラメータ */ [qd_loading_icon]{ --background:#8a8a8a; --background_inner:#8a8a8a; --background:transparent; --outer_circle:black; --outer_meter:#42f5ad; } @media screen and (orientation: portrait) { [qd_loading_info_container] { height:100vw; width:100vw; font-size:4vw; /* 縦向きの場合専用の追加装飾 */ } } @media screen and (orientation: landscape) { [qd_loading_info_container] { height:100vh; width:100vh; font-size:4vh; /* 縦向きの場合専用の追加装飾 */ } } [qd_loading_info_container]{ position:absolute; bottom:0; right:0; } [qd_info_window]{ transition:opacity .3s; position:fixed; top:0; left:0; height:100vh; width:100vw; z-index:10000; } [qd_info_window]>*{ margin:0 !important; position:absolute; height:100%; width:100%; bottom:0; right:0; } [info]{ width:50%; height:40%; position:absolute; top: 53%; left: 50%; transform: translateY(-50%) translateX(-50%); z-index:2; font-size:100%; } body [qd_info_window] [upload_status]:before{ content:'Data uploading... ' var(--uploading_percent_caption); display:block; text-align:center; } body [qd_info_window] [upload_status_bar]:before{ content:var(--data_uploaded) ' / ' var(--data_post_total) ' KB'; position:absolute; top: 50%; left: 50%; transform: translateY(-50%) translateX(-50%); z-index:4; font-size:50%; display:block; text-align:center; } body [qd_info_window] [upload_status_bar]{ position:relative; width:100%; } body [qd_info_window] [upload_status_bar_inner]{ width:var(--uploading_percent_caption); background:greenyellow; border:solid 1px green; border-radius:1em; height:0.5em; } body [qd_info_window] [upload_status_bar_inner]{ content:'Data uploading... ' ; width:var(--uploading_percent); } body [qd_info_window] [status]:before{ content:'Data loading... ' var(--loading_percent); display:block; text-align:center; } body[openhttps='0'] [qd_info_window] [status]:before{ content:'Data transfer completed'; display:block; text-align:center; } [qd_info_window] [connections]:before{ content:var(--openhttps) ' connections'; display:block; text-align:center; } [qd_info_window] [data_compression]:before{ content:'Data Compression ' var(--compression_ratio) ''; display:block; text-align:center; } [qd_info_window] [data_count]:before{ content:var(--data_loaded) ' / ' var(--data_total) ' KB'; display:block; text-align:center; } [qd_loading_icon]{ background:var(--background); transition:opacity 1s; opacity:.9; } [qd_loading_icon] [gauge_outer]{ position:absolute; top: 50%; left: 50%; transform: translateY(-50%) translateX(-50%); z-index:1; width:65%; height:65%; } [qd_loading_icon] [gauge_outer2]{ background:var(--outer_circle); border-radius:100%; width:100%; height:100%; /* padding:2.5vw; */ display:block; position:absolute; top:0; left:0; margin:0; } [qd_loading_icon] [gauge_outer2] [rad1] { background:var(--outer_meter); border-radius: 50% 50% 0 0/100% 100% 0 0; width: 92%; height: 46%; position: absolute; content: ''; top:4%; left:4%; z-index:1; margin:0; } [qd_loading_icon] [gauge_outer2] [rad2] { background:var(--outer_circle); border-radius: 50% 50% 0 0/100% 100% 0 0; width: 94%; height: 46%; left:3%; top:3%; position: absolute; content: ''; transform-origin: bottom center; /* transform:rotateZ(var(--memory_usage_meter)); */ transform:rotateZ(var(--loading_meter)); transition:transform .2s; z-index:2; margin:0; } [qd_loading_icon] [gauge_outer2] [rad3] { background:var(--background); border-radius: 50% 50% 0 0/100% 100% 0 0; width: 92%; height: 46%; position: absolute; content: ''; transform-origin: bottom center; transform:rotateZ(0.5turn); top:4%; left:4%; z-index:3; margin:0; } [qd_loading_icon] [rad4]{ position:absolute; background:var(--outer_circle); border-radius:100%; width:85%; height:85%; left:7.5%; top:7.5%; z-index:4; margin:0; } [qd_loading_icon] [gauge_outer3]{ position:absolute; background:var(--background_inner); border-radius:100%; width:84%; height:84%; left:8%; top:8%; z-index:5; margin:0; } [qd_loading_icon] [gauge] { margin:6%; position: relative; /* font-size: 5vw; */ /* text-indent: -9999em; */ /* max-width:300px; max-height:300px; */ width: 88%; height: 88%; border-radius: 50%; background: #ffffff; background: -moz-linear-gradient(left, #ffffff 10%, rgba(255, 255, 255, 0) 42%); background: -webkit-linear-gradient(left, #ffffff 10%, rgba(255, 255, 255, 0) 42%); background: -o-linear-gradient(left, #ffffff 10%, rgba(255, 255, 255, 0) 42%); background: -ms-linear-gradient(left, #ffffff 10%, rgba(255, 255, 255, 0) 42%); background: linear-gradient(to right, #ffffff 10%, rgba(255, 255, 255, 0) 42%); animation: load3 1.4s infinite linear; } [qd_loading_icon] [gauge]:before { width: 50%; height: 50%; background: #ffffff; border-radius: 100% 0 0 0; position: absolute; top: 0; left: 0; content: ''; } [qd_loading_icon] [gauge]:after { background:var(--background); width: 75%; height: 75%; border-radius: 50%; content: ''; margin: auto; position: absolute; top: 0; left: 0; bottom: 0; right: 0; } @-webkit-keyframes load3 { 0% { -webkit-transform: rotate(0deg); transform: rotate(0deg); } 100% { -webkit-transform: rotate(360deg); transform: rotate(360deg); } } @keyframes load3 { 0% { -webkit-transform: rotate(0deg); transform: rotate(0deg); } 100% { -webkit-transform: rotate(360deg); transform: rotate(360deg); } } /* データ更新中の更新がわかる表記 bodyにqd_default_indication属性がある時だけ */ body[qd_default_indication] [view],[qd_paratition],[view]:before,[qd_paratition]:before{ transition:opacity 1s ,background-color 1s,color 1s; } body[qd_default_indication] [view][qd_update],[qd_paratition][qd_update]{ transition:opacity .2s ,background-color .2s; position:relative; } body[qd_default_indication] [qd_update='0']{ background:rgba(0,0,0,.3); } body[qd_default_indication] [qd_update='1']{ background:rgba(80,80,80,.6); } body[qd_default_indication] [qd_update='0']>*{ opacity:.3; } body[qd_default_indication] [qd_update]:not(tr):before,tr[qd_update]>td:before{ position:absolute; margin-top:auto; margin-left:auto; margin-right:auto; margin-bottom:auto; /* top:0; left:0; right:0; bottom:0; */ color:transparent; top: 50%; left: 50%; transform: translateY(-50%) translateX(-50%); opacity:1; font-size:2em; font-weight:900; } body[qd_default_indication] [qd_update='0']:not(tr):before,tr[qd_update='0']>td:nth-of-type(1):before{ content:'updating...'; color:orange; } body[qd_default_indication] [qd_update='1']:not(tr):before,tr[qd_update='1']>td:nth-of-type(1):before{ content:'updated'; color:orange; } [name][direct_insert]:before,[name2][direct_insert]:after{ /* display:none !important; */ } a[name]:before,a[name2]:after{ display:none !important; } /*ページ処理*/ [qd_pager] [qd_page_setter]:before{ content:attr(data-page); } [qd_pager] [qd_page_setter]:not([data-current_page='1']){ color:#AAA; } [qd_pager] [qd_page_setter][data-current_page='1']{ pointer-events:none; } [qd_pager][data-pages='1']{ display:none; } @charset "UTF-8"; [qd_login_links='login']:before{content:'既にIDをお持ちの方のログインはこちら';} [qd_login_links='reset_password']:before{content:'パスワードを忘れた場合はこちら';} [qd_login_links='register_new']:before{content:'新規登録はこちら';} [qd_login_links]{display:block;} [qd_login_menu='login']:before{content:'';} .qd_form[action='#login'] button[type='qd_submit']:before{content:'ログイン';} .qd_form[action='#register_new'] button[type='qd_submit']:before{content:'新規登録';} .qd_form[action='#reset_password'] button[type='qd_submit']:before{content:'リセット';} .qd_form[action='#input_code_ajax'] button[type='qd_submit']:before{content:'コードを確認';} body[qd_login][login='1'] { height: auto; margin: 0; padding: 0; } body[qd_login] .login * { box-sizing: border-box; margin: 0; padding: 0 } body[qd_login][login='1'] [qd_memeber_area]:not([initial_content='member_top']) ba { display: none; } body[qd_login][login='1'] > #pass_change:target ~ .login #login { display: flex; } body[qd_login][login='1'] .login #login { display: none; } html body[auto_hide_before_login]:not([login='1']) > *:not(.login) { /* opacity:0; */ pointer-events: none; position: absolute; top: 0; z-index: -1; /* display:flex; */ display: none !important; } html body[qd_login] > #pass_change:target ~ *:not(.login) { opacity: 0; pointer-events: none; position: absolute; top: 0; z-index: -1; display: flex; /* display:none; */ } [qd_message='login'] { display: none; } body[qd_login] .login form .input,body[qd_login] .login input[type=password] { font-size: 24px; width: 100%; padding: 3px; margin: 2px 6px 16px 0; } body[qd_login] .qd_form[action='#reset_password'] button[type='qd_submit']:before { content: 'パスワードの再発行をする'; } #loginform a:-webkit-any-link { /*color: -webkit-link;*/ color: white; cursor: pointer; text-decoration: underline; } [qd_login_links='reset_password']:before { display: block; } [qd_login_links='register_new']:before { display: block; } .qd_form[action='#reset_password'] [for='email'] .qd_row { visibility: hidden; } .qd_form[action='#reset_password'] [for='email'] .qd_row:before { visibility: visible; content: '登録メールアドレス'; } .qd_form[action='#reset_password']:before { visibility: visible; content: 'パスワードの再発行を行います。\Aご登録時にお使いいただいたメールアドレスを\Aご入力ください。'; white-space: pre; text-align: center; display: block; margin-bottom: 20px; } .qd_form[action='#register_new'] button[type='qd_submit']:before { content: '上記情報で仮登録する'; } .qd_form[action='#register_new'] [for='email'] .qd_row { visibility: hidden; display: none; } .qd_form[action='#register_new'] [for='email']:before { visibility: visible; content: 'メールアドレス'; } .qd_form[action='#login'] [for='email'] .qd_row { visibility: hidden; display: none; } .qd_form[action='#login'] [for='email']:before { visibility: visible; content: 'メールアドレス'; } `; document.head.appendChild(style); var qd_log={} qd_log.error=function(){}; qd_log.info=function(){}; qd_log.warn=function(){}; qd_log.log=function(){}; if(localStorage.debug=='1'){//デバッグモード var qd_log=console; } function ajax_initializer(){ let ajax_auto_resume = { set: function(obj, prop, value) { if (prop === 'openHTTPs') { if (!Number.isInteger(value)) { throw new TypeError('リクエスト数が整数ではありません'); } if (value > 20) { throw new RangeError('リクエストが多すぎます'); } if (value == 0) { qd_log.log('通信が終了しました。'); if(exec=qd_window.functions.shift()){ exec(); } } } // 値を保存する既定の挙動 obj[prop] = value; } }; qd_window = new Proxy(window, ajax_auto_resume); qd_window.functions=[]; qd_window.done=function(func){ qd_window.functions.push(func); } qd_window.reset=function(){ qd_window.functions=[]; } var oldOpen = XMLHttpRequest.prototype.open; qd_window.openHTTPs = 0; setTimeout(function(){ if(document.body){ document.body.setAttribute('openHTTPs',qd_window.openHTTPs); } },50); qd_window.ajaxes={}; XMLHttpRequest.prototype.open = function(method, url, async, user, pass) { qd_window.openHTTPs++; document.body.setAttribute('openHTTPs',qd_window.openHTTPs); this.id=(new Date().getTime())+':'+url+':'+qd_window.openHTTPs; this.startTime=(new Date().getTime()); this.finishTime=0; qd_window.ajaxes[this.id]=this; this.addEventListener("readystatechange", function(){ if(this.readyState == 4){ qd_window.openHTTPs--; document.body.setAttribute('openHTTPs',qd_window.openHTTPs); this.finishTime=(new Date().getTime()); // console.error(this.id) var my_id=this.id; var my_func=function(my_id){ var my_id2=my_id; return function(){ delete qd_window.ajaxes[my_id2]; // console.error(my_id2); } } setTimeout(my_func(my_id),1000); } }, false); oldOpen.call(this, method, url, async, user, pass); } }; //ajax_initializer(); function create_loading_icon(){ var loading_icon=document.createElement("div") loading_icon.setAttribute("qd_info_window",1); loading_icon.innerHTML=`