Added misc pages
This commit is contained in:
parent
7e55f34e5c
commit
16fd03ae26
4 changed files with 954 additions and 0 deletions
170
Other-pages/Bookmark.html
Normal file
170
Other-pages/Bookmark.html
Normal file
|
@ -0,0 +1,170 @@
|
|||
<!DOCTYPE html>
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
||||
<meta name="robots" content="Robots.txt" />
|
||||
</head>
|
||||
<body style="background-color:#e5e8cc">
|
||||
<div style="color: #2d3a27; text-align: justify;"><a href="https://donottadee.web.fc2.com/index.html"><b><span style="font-size: x-large;"><img src="https://blog-imgs-165.fc2.com/l/h/v/lhv7cm2ajoj9/2023032311292425c.png" alt="" /></span></b></a></div>
|
||||
<div style="color: #2d3a27; text-align: justify;"><b><span style="font-size: x-large;">Sites I like + My banner: </span></b></div>
|
||||
<div style="color: #2d3a27; text-align: left;"></div>
|
||||
<div style="color: #2d3a27; text-align: justify;">-------------------------------------</div>
|
||||
<div style="text-align: left; color: #2d3a27;"><span style="text-align: justify;">My Banner(s):</span></div>
|
||||
<div style="color: #2d3a27; text-align: left;">
|
||||
<p style="text-align: justify;"><img src="https://blog-imgs-154.fc2.com/l/h/v/lhv7cm2ajoj9/DDbanner1.png" alt="DonottaDee" vspace="0" hspace="0" border="0" align="bottom" /></p>
|
||||
<p style="text-align: justify;"><img src="https://blog-imgs-165.fc2.com/l/h/v/lhv7cm2ajoj9/2023040501205430e.png" vspace="0" hspace="0" border="0" align="bottom" /></p>
|
||||
<p style="text-align: justify;">URL: http://donottadee.web.fc2.com/</p>
|
||||
<p style="text-align: justify;"><span style="text-align: left;">-----------</span>------------------------------</p>
|
||||
</div>
|
||||
<div style="color: #2d3a27; text-align: justify;"><a href="https://sideb20.wixsite.com/mmms" title="https://sideb20.wixsite.com/mmms"><img src="https://static.wixstatic.com/media/16dc3e_5d77eec8f46641dcb602cf0b0026d4b0~mv2.gif" alt="banner.gif" /></a></div>
|
||||
<div style="text-align: center;">
|
||||
<p style="color: #2d3a27; text-align: justify;">-----------------------------------------------</p>
|
||||
<div align="left"><a href="https://mtyn.fool.jp/"><img src="https://blog-imgs-165.fc2.com/l/h/v/lhv7cm2ajoj9/banner.jpg" /></a></div>
|
||||
<p style="color: #2d3a27; text-align: justify;">---------------------</p>
|
||||
<p style="color: #2d3a27; text-align: justify;"><a href="https://anzenarea.web.fc2.com/"><img src="https://blog-imgs-174.fc2.com/l/h/v/lhv7cm2ajoj9/eb64665.png" alt="" /></a></p>
|
||||
<p style="color: #2d3a27; text-align: justify;"><a title="kage" href="https://Kagemaru.jp/"><span style="font-size: large;">Kagemaru</span></a></p>
|
||||
<p style="text-align: justify;"><span style="color: #2d3a27; font-size: large;"><a href="https://www.tamaxxx.com/">Tamaxxx</a></span></p>
|
||||
<p style="text-align: justify;"><a href="https://riho-kurokawa.amebaownd.com/"><span style="font-size: large;">Riho-kurokawa</span></a><span style="font-size: large;"><a href="https://site-1295095-2286-5632.mystrikingly.com/"></a></span><span style="font-size: large;"><a href="http://triangleism.weebly.com/"></a></span></p>
|
||||
<p style="text-align: justify;"><span style="font-size: large;"><a href="https://foretnoire.mystrikingly.com/">Foretnoire</a></span></p>
|
||||
<p style="text-align: justify;"><span style="font-size: large;"><a href="https://shichigoro.com/">Shichigoro</a></span></p>
|
||||
<p style="text-align: justify;"><span style="font-size: large;"><a href="https://site-1295095-2286-5632.mystrikingly.com/">Neko Kurumi</a></span></p>
|
||||
<p style="text-align: justify;"><a href="https://goodgoodygoodday.com"><span style="font-size: large;"><img src="https://blog-imgs-174.fc2.com/l/h/v/lhv7cm2ajoj9/huu-1.png" /></span></a></p>
|
||||
<p style="text-align: justify;"><a href="https://hazardsigns.net/"><span style="font-size: large;"><img src="https://blog-imgs-174.fc2.com/l/h/v/lhv7cm2ajoj9/200x40_banner_02.png" alt="" /></span></a></p>
|
||||
<p style="text-align: justify;"><a href="https://shiunyoro.com"><span style="font-size: large;"><img src="https://blog-imgs-170.fc2.com/l/h/v/lhv7cm2ajoj9/Shiubanner.png" alt="" width="200" height="40" /></span></a></p>
|
||||
<p style="text-align: justify;"><a href="https://mottoyurio.web.fc2.com/"><img src="https://mottoyurio.web.fc2.com/bnr_mottoyurio.png" alt="Mottoyurio" vspace="0" hspace="0" border="0" align="bottom" /></a><a href="http://akinako.web.fc2.com/"></a></p>
|
||||
<p style="text-align: justify;"><a href="http://zokusou.web.fc2.com/index.htm"><img src="https://zokusou.web.fc2.com/image/banner.png" vspace="0" hspace="0" border="0" align="bottom" /></a></p>
|
||||
<p style="text-align: justify;"><a href="https://yuikomizuhara.net/"><img src="https://blog-imgs-174.fc2.com/l/h/v/lhv7cm2ajoj9/bn200.gif" alt="" /></a></p>
|
||||
<p style="text-align: justify;"><b><span style="font-size: x-large;">---Oekaki/Nav sites---</span></b></p>
|
||||
<p style="text-align: justify;"><a href="https://gameha.com/"><span style="font-size: x-large;"><img src="https://blog-imgs-174.fc2.com/l/h/v/lhv7cm2ajoj9/gameha_t016.jpg" alt="" /></span></a></p>
|
||||
<p style="text-align: justify;"><a href="https://oekaki.jp/"><img src="https://oekaki.jp/banner.gif" vspace="0" hspace="0" border="0" align="bottom" /></a></p>
|
||||
<p style="text-align: justify;"><a href="https://lony.jp"><img src="https://blog-imgs-165.fc2.com/l/h/v/lhv7cm2ajoj9/lony_banner_200x40.png" /></a></p>
|
||||
<p style="text-align: justify;"><a href="https://compslink.jp"><img src="https://blog-imgs-174.fc2.com/l/h/v/lhv7cm2ajoj9/CL_banner.png" alt="" /></a></p>
|
||||
<p style="text-align: justify;"><b><span style="font-size: x-large;">---Misc Sites---</span></b><a href="http://park5.wakwak.com/~rasen/"></a><a href="http://reinax.jugem.jp/" title="Easy Going"></a><a href="http://ginnnoyoru.web.fc2.com/"></a></p>
|
||||
<p style="text-align: justify;"><a href=" http://gioiell0.x0.com/oxo/"><img src="https://blog-imgs-165.fc2.com/l/h/v/lhv7cm2ajoj9/gioiellobanner.jpg" vspace="0" hspace="0" border="0" align="bottom" /></a></p>
|
||||
<p style="text-align: justify;"><a href="https://dolleye.web.fc2.com/" title="<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̂<EFBFBD><CC82><EFBFBD><EFBFBD><EFBFBD>"><img src="https://blog-imgs-165.fc2.com/l/h/v/lhv7cm2ajoj9/b_home_l.jpg" vspace="0" hspace="0" border="0" align="bottom" /></a><a href="http://elm-chan.org/"></a></p>
|
||||
<p style="color: #2d3a27; text-align: left;"><span style="font-size: 12pt;"><em><strong><a href="https://donottadee.web.fc2.com/inabm.html">Inactive_Sites I like</a></strong></em></span></p>
|
||||
<p style="color: #2d3a27; text-align: center;"></p>
|
||||
</div>
|
||||
<p>
|
||||
<script>(function(){class RuffleMimeType{constructor(a,b,c){this.type=a,this.description=b,this.suffixes=c}}class RuffleMimeTypeArray{constructor(a){this.__mimetypes=[],this.__named_mimetypes={};for(let b of a)this.install(b)}install(a){let b=this.__mimetypes.length;this.__mimetypes.push(a),this.__named_mimetypes[a.type]=a,this[a.type]=a,this[b]=a}item(a){return this.__mimetypes[a]}namedItem(a){return this.__named_mimetypes[a]}get length(){return this.__mimetypes.length}}class RufflePlugin extends RuffleMimeTypeArray{constructor(a,b,c,d){super(d),this.name=a,this.description=b,this.filename=c}install(a){a.enabledPlugin||(a.enabledPlugin=this),super.install(a)}}class RufflePluginArray{constructor(a){this.__plugins=[],this.__named_plugins={};for(let b of a)this.install(b)}install(a){let b=this.__plugins.length;this.__plugins.push(a),this.__named_plugins[a.name]=a,this[a.name]=a,this[b]=a}item(a){return this.__plugins[a]}namedItem(a){return this.__named_plugins[a]}refresh(){}get length(){return this.__plugins.length}}const FLASH_PLUGIN=new RufflePlugin("Shockwave Flash","Shockwave Flash 32.0 r0","ruffle.js",[new RuffleMimeType("application/futuresplash","Shockwave Flash","spl"),new RuffleMimeType("application/x-shockwave-flash","Shockwave Flash","swf"),new RuffleMimeType("application/x-shockwave-flash2-preview","Shockwave Flash","swf"),new RuffleMimeType("application/vnd.adobe.flash.movie","Shockwave Flash","swf")]);function install_plugin(a){navigator.plugins.install||Object.defineProperty(navigator,"plugins",{value:new RufflePluginArray(navigator.plugins),writable:!1}),navigator.plugins.install(a),0<a.length&&!navigator.mimeTypes.install&&Object.defineProperty(navigator,"mimeTypes",{value:new RuffleMimeTypeArray(navigator.mimeTypes),writable:!1});for(var b=0;b<a.length;b+=1)navigator.mimeTypes.install(a[b])}install_plugin(FLASH_PLUGIN);})();</script>
|
||||
<script src="chrome-extension://donbcfbmhbcapadipfkeojnmajbakjdc/dist/ruffle.js?id=85327712524"></script>
|
||||
<script>/******/ (() => { // webpackBootstrap
|
||||
/******/ "use strict";
|
||||
var __webpack_exports__ = {};
|
||||
|
||||
;// CONCATENATED MODULE: ../core/dist/flash-identifiers.js
|
||||
const FLASH_MIMETYPE = "application/x-shockwave-flash";
|
||||
const FUTURESPLASH_MIMETYPE = "application/futuresplash";
|
||||
const FLASH7_AND_8_MIMETYPE = "application/x-shockwave-flash2-preview";
|
||||
const FLASH_MOVIE_MIMETYPE = "application/vnd.adobe.flash.movie";
|
||||
const FLASH_ACTIVEX_CLASSID = "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000";
|
||||
|
||||
;// CONCATENATED MODULE: ../core/dist/plugin-polyfill.js
|
||||
|
||||
/**
|
||||
* Replacement object for `MimeTypeArray` that lets us install new fake mime
|
||||
* types.
|
||||
*
|
||||
* Unlike plugins we can at least enumerate mime types in Firefox, so we don't
|
||||
* lose data.
|
||||
*
|
||||
* We also expose a method called `install` which adds a new plugin. This is
|
||||
* used to falsify Flash detection. If the existing `navigator.mimeTypes` has an
|
||||
* `install` method, you should not use `RuffleMimeTypeArray` as some other
|
||||
* plugin emulator is already present.
|
||||
*/
|
||||
class RuffleMimeTypeArray {
|
||||
constructor(mimeTypes) {
|
||||
this.__mimeTypes = [];
|
||||
this.__namedMimeTypes = {};
|
||||
if (mimeTypes) {
|
||||
for (let i = 0; i < mimeTypes.length; i++) {
|
||||
this.install(mimeTypes[i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
/**
|
||||
* Install a MIME Type into the array.
|
||||
*
|
||||
* @param mimeType The mime type to install
|
||||
*/
|
||||
install(mimeType) {
|
||||
const index = this.__mimeTypes.length;
|
||||
this.__mimeTypes.push(mimeType);
|
||||
this.__namedMimeTypes[mimeType.type] = mimeType;
|
||||
this[mimeType.type] = mimeType;
|
||||
this[index] = mimeType;
|
||||
}
|
||||
item(index) {
|
||||
return this.__mimeTypes[index];
|
||||
}
|
||||
namedItem(name) {
|
||||
return this.__namedMimeTypes[name];
|
||||
}
|
||||
get length() {
|
||||
return this.__mimeTypes.length;
|
||||
}
|
||||
[Symbol.iterator]() {
|
||||
return this.__mimeTypes[Symbol.iterator]();
|
||||
}
|
||||
}
|
||||
/**
|
||||
* Equivalent object to `Plugin` that allows us to falsify plugins.
|
||||
*/
|
||||
class RufflePlugin extends RuffleMimeTypeArray {
|
||||
constructor(name, description, filename) {
|
||||
super();
|
||||
this.name = name;
|
||||
this.description = description;
|
||||
this.filename = filename;
|
||||
}
|
||||
}
|
||||
/**
|
||||
* Replacement object for `PluginArray` that lets us install new fake plugins.
|
||||
*
|
||||
* This object needs to wrap the native plugin array, since the user might have
|
||||
* actual plugins installed. Firefox doesn't let us enumerate the array, though,
|
||||
* which has some consequences. Namely, we can't actually perfectly wrap the
|
||||
* native plugin array, at least unless there's some secret "unresolved object
|
||||
* property name handler" that I've never known before in JS...
|
||||
*
|
||||
* We can still wrap `namedItem` perfectly at least.
|
||||
*
|
||||
* We also expose a method called `install` which adds a new plugin. This is
|
||||
* used to falsify Flash detection. If the existing `navigator.plugins` has an
|
||||
* `install` method, you should not use `RufflePluginArray` as some other plugin
|
||||
* emulator is already present.
|
||||
*/
|
||||
class RufflePluginArray {
|
||||
constructor(plugins) {
|
||||
this.__plugins = [];
|
||||
this.__namedPlugins = {};
|
||||
for (let i = 0; i < plugins.length; i++) {
|
||||
this.install(plugins[i]);
|
||||
}
|
||||
}
|
||||
install(plugin) {
|
||||
const index = this.__plugins.length;
|
||||
this.__plugins.push(plugin);
|
||||
this.__namedPlugins[plugin.name] = plugin;
|
||||
this[plugin.name] = plugin;
|
||||
this[index] = plugin;
|
||||
}
|
||||
item(index) {
|
||||
return this.__plugins[index];
|
||||
}
|
||||
n</script>
|
||||
</p>
|
||||
<script><!--
|
||||
var fc2footerparam = 'charset=' + encodeURIComponent(document.charset ? document.charset : document.characterSet) + '&url=' + encodeURIComponent(document.location) + '&service=0&r=' + Math.floor(Math.random()*99999999999);
|
||||
var fc2footertag = "//vip.chps-api.fc2.com/apis/footer/?" + fc2footerparam;
|
||||
var script = document.createElement('script');
|
||||
script.src = fc2footertag;
|
||||
script.charset = "UTF-8";
|
||||
script.async = true;
|
||||
document.getElementsByTagName('head')[0].appendChild(script);
|
||||
//--></script>
|
||||
<!-- FC2, inc.-->
|
||||
<img src="//media.fc2.com/counter_img.php?id=50" style="visibility:hidden" alt="inserted by FC2 system" width="0" height="0">
|
||||
<!-- FC2, inc.-->
|
180
Other-pages/FC2拍手 - Clap.htm
Normal file
180
Other-pages/FC2拍手 - Clap.htm
Normal file
|
@ -0,0 +1,180 @@
|
|||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
||||
<meta http-equiv="Content-Style-Type" content="text/css" />
|
||||
<meta http-equiv="Content-Script-Type" content="text/javascript" />
|
||||
<title>FC2拍手 - Clap</title>
|
||||
<meta name="author" content="FC2,inc" />
|
||||
<meta name="copyright" content="FC2,inc" />
|
||||
<meta name="description" content="FC2拍手とは、ブログ・サイト管理人への「応援」の気持ちを、拍手ボタンひとつで伝えるコミュニケーションツールです。今までメールや掲示板を利用しないと伝えられなかった気持ちも、このツールを使うと手軽に簡単にできます!管理人と閲覧者の心をつなぐツールです。ご利用は無料です。" />
|
||||
<meta name="keywords" content="FC2,拍手,無料,レンタル" />
|
||||
<link href="/css/orei.css" rel="stylesheet" type="text/css" media="all" title="default" />
|
||||
|
||||
<!-- footer -->
|
||||
<!-- /footer -->
|
||||
|
||||
<!--[if IE]>
|
||||
<link rel="stylesheet" type="text/css" href="/css/ie.css" />
|
||||
<![endif]-->
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
|
||||
<!-- wrap -->
|
||||
<div id="wrap">
|
||||
|
||||
<!--header-->
|
||||
<div id="header">
|
||||
<h1><!-- お礼ページヘッダ --></h1>
|
||||
</div><!--header end-->
|
||||
|
||||
<!-- container -->
|
||||
<div id="container">
|
||||
|
||||
<!--表示切り替えボタン-->
|
||||
<!--/表示切り替えボタン-->
|
||||
|
||||
|
||||
<div id="blogvote_body"><!--拍手 -->
|
||||
ありがと.<br />
|
||||
Thanks for the clap.<br />
|
||||
<img src="/uploads/r/e/redhorse/tea.png" alt="Tea.png" /> <h3 class="clap_num">このページの拍手数:<span>0</span> / 総拍手数:<span>12</span></h3>
|
||||
|
||||
<form method="post" action="">
|
||||
<div class="clapbtn">
|
||||
<input type="submit" disabled="disabled" value="最終ページです" />
|
||||
</div><!--/clapbtn -->
|
||||
|
||||
|
||||
<h3 class="sh_heading_sub_main_b">コメントを送る</h3>
|
||||
|
||||
<div class="comment_form">
|
||||
|
||||
|
||||
<p id="text-cont-meter" style="text-align:right; font-family:'Helvetica Neue','Helvetica','Arial',sans-serif; font-size:2em; color:#CCCCCC; font-weight:bold; padding-bottom:0;"></p>
|
||||
<input type="text" name="data[Comment][name]" style="width:20%;float:left;display:inline;" value="" id="text-name" />
|
||||
<input type="text" name="data[Comment][body]" style="width:60%;float:left;display:inline;" value="" onkeydown="checktextcount(this.value);" onkeyup="checktextcount(this.value);" id="text-cont" />
|
||||
<select name="data[Comment][status]">
|
||||
<option value="1" >公開する</option>
|
||||
<option value="0" >公開しない</option>
|
||||
</select>
|
||||
|
||||
<div class="toukou_btn">
|
||||
|
||||
<input type="submit" name="post" value="投稿する" id="text-cont-submit2" />
|
||||
<input type="submit" name="confirm" value="確認する" id="text-cont-submit" />
|
||||
</div>
|
||||
|
||||
|
||||
<p>
|
||||
※コメントに入力できる文字数は全角で最大<strong><font color="#FF0000">1000</font></strong>文字です </p>
|
||||
<p>
|
||||
</p>
|
||||
</div><!--/clap_form -->
|
||||
<script language="JavaScript" type="text/JavaScript">
|
||||
<!--
|
||||
/*@cc_on _d=document;eval('var document=_d')@*/
|
||||
var max_num = 1000;
|
||||
var text_cont = document.getElementById('text-cont');
|
||||
var text_cont_meter = document.getElementById('text-cont-meter');
|
||||
var cont_submit = document.getElementById('text-cont-submit');
|
||||
var cont_submit2 = document.getElementById('text-cont-submit2');
|
||||
var text_name = document.getElementById('text-name');
|
||||
var body_label = "本文を入力してください";
|
||||
var name_label = "お名前";
|
||||
if(text_cont.value == body_label)
|
||||
text_cont.value = "";
|
||||
if(text_name.value == name_label)
|
||||
text_name.value = "";
|
||||
checktextcount();
|
||||
// document.getElementById('text-cont-meter').innerHTML = max_num - document.getElementById('text-cont').value.length;
|
||||
function checktextcount(value)
|
||||
{
|
||||
text_cont_meter.innerHTML = max_num - text_cont.value.length;
|
||||
|
||||
if(cont_submit)
|
||||
{
|
||||
cont_submit.disabled = (text_cont.value.length > 2 && text_cont.value.length <= max_num) ? false: true;
|
||||
}
|
||||
if(cont_submit2)
|
||||
{
|
||||
cont_submit2.disabled = (text_cont.value.length > 2 && text_cont.value.length <= max_num) ? false: true;
|
||||
}
|
||||
}
|
||||
|
||||
function clearTextLabel()
|
||||
{
|
||||
if(text_name.value == name_label)
|
||||
text_name.value='';
|
||||
if(text_cont.value == body_label)
|
||||
text_cont.value='';
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
(function(){
|
||||
var txtObj = text_cont;
|
||||
if(txtObj.value == "")
|
||||
{
|
||||
txtObj.value= body_label;
|
||||
txtObj.style.color="#999999";
|
||||
}
|
||||
else
|
||||
{
|
||||
txtObj.style.color="#333333";
|
||||
}
|
||||
txtObj.onfocus = function(){if(this.value==body_label ){this.value="";this.style.color="#333333";}};
|
||||
txtObj.onblur = function(){if(this.value==""){this.value=body_label;this.style.color="#999999";}else{this.style.color="#333333";}};
|
||||
}
|
||||
)();
|
||||
|
||||
(function(){
|
||||
txtObj = text_name;
|
||||
if(txtObj.value == "")
|
||||
{
|
||||
txtObj.value= name_label;
|
||||
txtObj.style.color="#999999";
|
||||
}
|
||||
else
|
||||
{
|
||||
txtObj.style.color="#333333";
|
||||
}
|
||||
txtObj.onfocus = function(){if(this.value==name_label ){this.value="";this.style.color="#333333";}};
|
||||
txtObj.onblur = function(){if(this.value==""){this.value=name_label;this.style.color="#999999";}else{this.style.color="#333333";}};
|
||||
|
||||
text_cont.form.onsubmit = clearTextLabel;
|
||||
}
|
||||
)();
|
||||
|
||||
// -->
|
||||
</script>
|
||||
|
||||
<input type="hidden" name="url_hash" value="" />
|
||||
</form>
|
||||
|
||||
|
||||
|
||||
<!-- FC2管理用 -->
|
||||
<img src="//media.fc2.com/counter_img.php?id=207" width="1" height="1">
|
||||
<!-- FC2管理用 -->
|
||||
|
||||
|
||||
|
||||
</div><!--/blogvote_body --><!--/拍手 -->
|
||||
|
||||
</div>
|
||||
<!-- /container -->
|
||||
|
||||
<!--footer-->
|
||||
<div id="footer">
|
||||
<h1>powered by FC2<a href="//clap.fc2.com/">拍手</a></h1>
|
||||
</div><!--footer end-->
|
||||
|
||||
</div>
|
||||
<!-- /wrap -->
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
29
Other-pages/about.html
Normal file
29
Other-pages/about.html
Normal file
|
@ -0,0 +1,29 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<body style="background-color:#ede3eb>
|
||||
<div style="text-align: center;"><a href="https://donottadee.web.fc2.com/index.html"><img src="https://blog-imgs-165.fc2.com/l/h/v/lhv7cm2ajoj9/2023032311292425c.png" vspace="0" hspace="0" border="0" align="bottom" /></a></div>
|
||||
<div style="text-align: center;">-----------------------</div>
|
||||
<div style="text-align: center;"><b><span style="font-size: x-large;">About</span></b></div>
|
||||
<div style="text-align: center;">-----------------------</div>
|
||||
<div style="text-align: center;"><span style="color: #151121; font-size: large;"></span></div>
|
||||
<div style="text-align: center;"><a href="https://donottadee.web.fc2.com/about2.html"><span style="color: #151121; font-size: large;"><img src="https://blog-imgs-174.fc2.com/l/h/v/lhv7cm2ajoj9/IMG-1720.png" alt="" width="70" height="51" /></span></a></div>
|
||||
<div style="text-align: center;"></div>
|
||||
<div style="text-align: center;"><img src="https://blog-imgs-174.fc2.com/l/h/v/lhv7cm2ajoj9/En_txt.png" alt="" width="922" height="234" /></div>
|
||||
<div style="text-align: center;"></div>
|
||||
<div style="text-align: center;"></div>
|
||||
<div style="color: #151121; text-align: center;"></div>
|
||||
<div style="color: #151121; text-align: center;"></div>
|
||||
<script><!--
|
||||
var fc2footerparam = 'charset=' + encodeURIComponent(document.charset ? document.charset : document.characterSet) + '&url=' + encodeURIComponent(document.location) + '&service=0&r=' + Math.floor(Math.random()*99999999999);
|
||||
var fc2footertag = "//vip.chps-api.fc2.com/apis/footer/?" + fc2footerparam;
|
||||
var script = document.createElement('script');
|
||||
script.src = fc2footertag;
|
||||
script.charset = "UTF-8";
|
||||
script.async = true;
|
||||
document.getElementsByTagName('head')[0].appendChild(script);
|
||||
//--></script>
|
||||
<!-- FC2, inc.-->
|
||||
<img src="//media.fc2.com/counter_img.php?id=50" style="visibility:hidden" alt="inserted by FC2 system" width="0" height="0">
|
||||
<!-- FC2, inc.--></body>
|
||||
</html>
|
575
Other-pages/socials.html
Normal file
575
Other-pages/socials.html
Normal file
|
@ -0,0 +1,575 @@
|
|||
|
||||
<html><head><title></title><script>(function(){class RuffleMimeType{constructor(a,b,c){this.type=a,this.description=b,this.suffixes=c}}class RuffleMimeTypeArray{constructor(a){this.__mimetypes=[],this.__named_mimetypes={};for(let b of a)this.install(b)}install(a){let b=this.__mimetypes.length;this.__mimetypes.push(a),this.__named_mimetypes[a.type]=a,this[a.type]=a,this[b]=a}item(a){return this.__mimetypes[a]}namedItem(a){return this.__named_mimetypes[a]}get length(){return this.__mimetypes.length}}class RufflePlugin extends RuffleMimeTypeArray{constructor(a,b,c,d){super(d),this.name=a,this.description=b,this.filename=c}install(a){a.enabledPlugin||(a.enabledPlugin=this),super.install(a)}}class RufflePluginArray{[Symbol.iterator](){return this.__plugins[Symbol.iterator]()}constructor(a){this.__plugins=[],this.__named_plugins={};for(let b of a)this.install(b)}install(a){let b=this.__plugins.length;this.__plugins.push(a),this.__named_plugins[a.name]=a,this[a.name]=a,this[b]=a}item(a){return this.__plugins[a]}namedItem(a){return this.__named_plugins[a]}refresh(){}get length(){return this.__plugins.length}}const FLASH_PLUGIN=new RufflePlugin("Shockwave Flash","Shockwave Flash 32.0 r0","ruffle.js",[new RuffleMimeType("application/futuresplash","Shockwave Flash","spl"),new RuffleMimeType("application/x-shockwave-flash","Shockwave Flash","swf"),new RuffleMimeType("application/x-shockwave-flash2-preview","Shockwave Flash","swf"),new RuffleMimeType("application/vnd.adobe.flash.movie","Shockwave Flash","swf")]);function install_plugin(a){navigator.plugins.install||Object.defineProperty(navigator,"plugins",{value:new RufflePluginArray(navigator.plugins),writable:!1}),navigator.plugins.install(a),0<a.length&&!navigator.mimeTypes.install&&Object.defineProperty(navigator,"mimeTypes",{value:new RuffleMimeTypeArray(navigator.mimeTypes),writable:!1});for(var b=0;b<a.length;b+=1)navigator.mimeTypes.install(a[b])}install_plugin(FLASH_PLUGIN);})();</script><script src="chrome-extension://donbcfbmhbcapadipfkeojnmajbakjdc/dist/ruffle.js?id=54943034717"></script><script>/******/ (() => { // webpackBootstrap
|
||||
/******/ "use strict";
|
||||
var __webpack_exports__ = {};
|
||||
|
||||
;// CONCATENATED MODULE: ../core/dist/flash-identifiers.js
|
||||
const FLASH_MIMETYPE = "application/x-shockwave-flash";
|
||||
const FUTURESPLASH_MIMETYPE = "application/futuresplash";
|
||||
const FLASH7_AND_8_MIMETYPE = "application/x-shockwave-flash2-preview";
|
||||
const FLASH_MOVIE_MIMETYPE = "application/vnd.adobe.flash.movie";
|
||||
const FLASH_ACTIVEX_CLASSID = "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000";
|
||||
|
||||
;// CONCATENATED MODULE: ../core/dist/plugin-polyfill.js
|
||||
|
||||
/**
|
||||
* Replacement object for `MimeTypeArray` that lets us install new fake mime
|
||||
* types.
|
||||
*
|
||||
* Unlike plugins we can at least enumerate mime types in Firefox, so we don't
|
||||
* lose data.
|
||||
*
|
||||
* We also expose a method called `install` which adds a new plugin. This is
|
||||
* used to falsify Flash detection. If the existing `navigator.mimeTypes` has an
|
||||
* `install` method, you should not use `RuffleMimeTypeArray` as some other
|
||||
* plugin emulator is already present.
|
||||
*/
|
||||
class RuffleMimeTypeArray {
|
||||
constructor(mimeTypes) {
|
||||
this.__mimeTypes = [];
|
||||
this.__namedMimeTypes = {};
|
||||
if (mimeTypes) {
|
||||
for (let i = 0; i < mimeTypes.length; i++) {
|
||||
this.install(mimeTypes[i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
/**
|
||||
* Install a MIME Type into the array.
|
||||
*
|
||||
* @param mimeType The mime type to install
|
||||
*/
|
||||
install(mimeType) {
|
||||
const index = this.__mimeTypes.length;
|
||||
this.__mimeTypes.push(mimeType);
|
||||
this.__namedMimeTypes[mimeType.type] = mimeType;
|
||||
this[mimeType.type] = mimeType;
|
||||
this[index] = mimeType;
|
||||
}
|
||||
item(index) {
|
||||
return this.__mimeTypes[index];
|
||||
}
|
||||
namedItem(name) {
|
||||
return this.__namedMimeTypes[name];
|
||||
}
|
||||
get length() {
|
||||
return this.__mimeTypes.length;
|
||||
}
|
||||
[Symbol.iterator]() {
|
||||
return this.__mimeTypes[Symbol.iterator]();
|
||||
}
|
||||
}
|
||||
/**
|
||||
* Equivalent object to `Plugin` that allows us to falsify plugins.
|
||||
*/
|
||||
class RufflePlugin extends RuffleMimeTypeArray {
|
||||
constructor(name, description, filename) {
|
||||
super();
|
||||
this.name = name;
|
||||
this.description = description;
|
||||
this.filename = filename;
|
||||
}
|
||||
}
|
||||
/**
|
||||
* Replacement object for `PluginArray` that lets us install new fake plugins.
|
||||
*
|
||||
* This object needs to wrap the native plugin array, since the user might have
|
||||
* actual plugins installed. Firefox doesn't let us enumerate the array, though,
|
||||
* which has some consequences. Namely, we can't actually perfectly wrap the
|
||||
* native plugin array, at least unless there's some secret "unresolved object
|
||||
* property name handler" that I've never known before in JS...
|
||||
*
|
||||
* We can still wrap `namedItem` perfectly at least.
|
||||
*
|
||||
* We also expose a method called `install` which adds a new plugin. This is
|
||||
* used to falsify Flash detection. If the existing `navigator.plugins` has an
|
||||
* `install` method, you should not use `RufflePluginArray` as some other plugin
|
||||
* emulator is already present.
|
||||
*/
|
||||
class RufflePluginArray {
|
||||
constructor(plugins) {
|
||||
this.__plugins = [];
|
||||
this.__namedPlugins = {};
|
||||
for (let i = 0; i < plugins.length; i++) {
|
||||
this.install(plugins[i]);
|
||||
}
|
||||
}
|
||||
install(plugin) {
|
||||
const index = this.__plugins.length;
|
||||
this.__plugins.push(plugin);
|
||||
this.__namedPlugins[plugin.name] = plugin;
|
||||
this[plugin.name] = plugin;
|
||||
this[index] = plugin;
|
||||
}
|
||||
item(index) {
|
||||
return this.__plugins[index];
|
||||
}
|
||||
namedItem(name) {
|
||||
return this.__namedPlugins[name];
|
||||
}
|
||||
refresh() {
|
||||
// Nothing to do, we just need to define the method.
|
||||
}
|
||||
[Symbol.iterator]() {
|
||||
return this.__plugins[Symbol.iterator]();
|
||||
}
|
||||
get length() {
|
||||
return this.__plugins.length;
|
||||
}
|
||||
}
|
||||
/**
|
||||
* A fake plugin designed to trigger Flash detection scripts.
|
||||
*/
|
||||
const FLASH_PLUGIN = new RufflePlugin("Shockwave Flash", "Shockwave Flash 32.0 r0", "ruffle.js");
|
||||
/**
|
||||
* A fake plugin designed to allow early detection of if the Ruffle extension is in use.
|
||||
*/
|
||||
const RUFFLE_EXTENSION = new RufflePlugin("Ruffle Extension", "Ruffle Extension", "ruffle.js");
|
||||
FLASH_PLUGIN.install({
|
||||
type: FUTURESPLASH_MIMETYPE,
|
||||
description: "Shockwave Flash",
|
||||
suffixes: "spl",
|
||||
enabledPlugin: FLASH_PLUGIN,
|
||||
});
|
||||
FLASH_PLUGIN.install({
|
||||
type: FLASH_MIMETYPE,
|
||||
description: "Shockwave Flash",
|
||||
suffixes: "swf",
|
||||
enabledPlugin: FLASH_PLUGIN,
|
||||
});
|
||||
FLASH_PLUGIN.install({
|
||||
type: FLASH7_AND_8_MIMETYPE,
|
||||
description: "Shockwave Flash",
|
||||
suffixes: "swf",
|
||||
enabledPlugin: FLASH_PLUGIN,
|
||||
});
|
||||
FLASH_PLUGIN.install({
|
||||
type: FLASH_MOVIE_MIMETYPE,
|
||||
description: "Shockwave Flash",
|
||||
suffixes: "swf",
|
||||
enabledPlugin: FLASH_PLUGIN,
|
||||
});
|
||||
/**
|
||||
* Install a fake plugin such that detectors will see it in `navigator.plugins`.
|
||||
*
|
||||
* This function takes care to check if the existing implementation of
|
||||
* `navigator.plugins` already accepts fake plugin entries. If so, it will use
|
||||
* that version of the plugin array. This allows the plugin polyfill to compose
|
||||
* across multiple plugin emulators with the first emulator's polyfill winning.
|
||||
*
|
||||
* @param plugin The plugin to install
|
||||
*/
|
||||
function installPlugin(plugin) {
|
||||
if (!("install" in navigator.plugins) || !navigator.plugins["install"]) {
|
||||
Object.defineProperty(navigator, "plugins", {
|
||||
value: new RufflePluginArray(navigator.plugins),
|
||||
writable: false,
|
||||
});
|
||||
}
|
||||
const plugins = navigator.plugins;
|
||||
plugins.install(plugin);
|
||||
if (plugin.length > 0 &&
|
||||
(!("install" in navigator.mimeTypes) || !navigator.mimeTypes["install"])) {
|
||||
Object.defineProperty(navigator, "mimeTypes", {
|
||||
value: new RuffleMimeTypeArray(navigator.mimeTypes),
|
||||
writable: false,
|
||||
});
|
||||
}
|
||||
const mimeTypes = navigator.mimeTypes;
|
||||
for (let i = 0; i < plugin.length; i += 1) {
|
||||
mimeTypes.install(plugin[i]);
|
||||
}
|
||||
}
|
||||
|
||||
;// CONCATENATED MODULE: ./src/plugin-polyfill.ts
|
||||
// This file is compiled and then injected into content.ts's compiled form.
|
||||
|
||||
installPlugin(FLASH_PLUGIN);
|
||||
installPlugin(RUFFLE_EXTENSION);
|
||||
|
||||
/******/ })()
|
||||
;</script><script src="chrome-extension://donbcfbmhbcapadipfkeojnmajbakjdc/dist/ruffle.js?id=33993159039"></script><script>/******/ (() => { // webpackBootstrap
|
||||
/******/ "use strict";
|
||||
var __webpack_exports__ = {};
|
||||
|
||||
;// CONCATENATED MODULE: ../core/dist/flash-identifiers.js
|
||||
const FLASH_MIMETYPE = "application/x-shockwave-flash";
|
||||
const FUTURESPLASH_MIMETYPE = "application/futuresplash";
|
||||
const FLASH7_AND_8_MIMETYPE = "application/x-shockwave-flash2-preview";
|
||||
const FLASH_MOVIE_MIMETYPE = "application/vnd.adobe.flash.movie";
|
||||
const FLASH_ACTIVEX_CLASSID = "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000";
|
||||
|
||||
;// CONCATENATED MODULE: ../core/dist/plugin-polyfill.js
|
||||
|
||||
/**
|
||||
* Replacement object for `MimeTypeArray` that lets us install new fake mime
|
||||
* types.
|
||||
*
|
||||
* Unlike plugins we can at least enumerate mime types in Firefox, so we don't
|
||||
* lose data.
|
||||
*
|
||||
* We also expose a method called `install` which adds a new plugin. This is
|
||||
* used to falsify Flash detection. If the existing `navigator.mimeTypes` has an
|
||||
* `install` method, you should not use `RuffleMimeTypeArray` as some other
|
||||
* plugin emulator is already present.
|
||||
*/
|
||||
class RuffleMimeTypeArray {
|
||||
constructor(mimeTypes) {
|
||||
this.__mimeTypes = [];
|
||||
this.__namedMimeTypes = {};
|
||||
if (mimeTypes) {
|
||||
for (let i = 0; i < mimeTypes.length; i++) {
|
||||
this.install(mimeTypes[i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
/**
|
||||
* Install a MIME Type into the array.
|
||||
*
|
||||
* @param mimeType The mime type to install
|
||||
*/
|
||||
install(mimeType) {
|
||||
const index = this.__mimeTypes.length;
|
||||
this.__mimeTypes.push(mimeType);
|
||||
this.__namedMimeTypes[mimeType.type] = mimeType;
|
||||
this[mimeType.type] = mimeType;
|
||||
this[index] = mimeType;
|
||||
}
|
||||
item(index) {
|
||||
return this.__mimeTypes[index];
|
||||
}
|
||||
namedItem(name) {
|
||||
return this.__namedMimeTypes[name];
|
||||
}
|
||||
get length() {
|
||||
return this.__mimeTypes.length;
|
||||
}
|
||||
[Symbol.iterator]() {
|
||||
return this.__mimeTypes[Symbol.iterator]();
|
||||
}
|
||||
}
|
||||
/**
|
||||
* Equivalent object to `Plugin` that allows us to falsify plugins.
|
||||
*/
|
||||
class RufflePlugin extends RuffleMimeTypeArray {
|
||||
constructor(name, description, filename) {
|
||||
super();
|
||||
this.name = name;
|
||||
this.description = description;
|
||||
this.filename = filename;
|
||||
}
|
||||
}
|
||||
/**
|
||||
* Replacement object for `PluginArray` that lets us install new fake plugins.
|
||||
*
|
||||
* This object needs to wrap the native plugin array, since the user might have
|
||||
* actual plugins installed. Firefox doesn't let us enumerate the array, though,
|
||||
* which has some consequences. Namely, we can't actually perfectly wrap the
|
||||
* native plugin array, at least unless there's some secret "unresolved object
|
||||
* property name handler" that I've never known before in JS...
|
||||
*
|
||||
* We can still wrap `namedItem` perfectly at least.
|
||||
*
|
||||
* We also expose a method called `install` which adds a new plugin. This is
|
||||
* used to falsify Flash detection. If the existing `navigator.plugins` has an
|
||||
* `install` method, you should not use `RufflePluginArray` as some other plugin
|
||||
* emulator is already present.
|
||||
*/
|
||||
class RufflePluginArray {
|
||||
constructor(plugins) {
|
||||
this.__plugins = [];
|
||||
this.__namedPlugins = {};
|
||||
for (let i = 0; i < plugins.length; i++) {
|
||||
this.install(plugins[i]);
|
||||
}
|
||||
}
|
||||
install(plugin) {
|
||||
const index = this.__plugins.length;
|
||||
this.__plugins.push(plugin);
|
||||
this.__namedPlugins[plugin.name] = plugin;
|
||||
this[plugin.name] = plugin;
|
||||
this[index] = plugin;
|
||||
}
|
||||
item(index) {
|
||||
return this.__plugins[index];
|
||||
}
|
||||
namedItem(name) {
|
||||
return this.__namedPlugins[name];
|
||||
}
|
||||
refresh() {
|
||||
// Nothing to do, we just need to define the method.
|
||||
}
|
||||
[Symbol.iterator]() {
|
||||
return this.__plugins[Symbol.iterator]();
|
||||
}
|
||||
get length() {
|
||||
return this.__plugins.length;
|
||||
}
|
||||
}
|
||||
/**
|
||||
* A fake plugin designed to trigger Flash detection scripts.
|
||||
*/
|
||||
const FLASH_PLUGIN = new RufflePlugin("Shockwave Flash", "Shockwave Flash 32.0 r0", "ruffle.js");
|
||||
/**
|
||||
* A fake plugin designed to allow early detection of if the Ruffle extension is in use.
|
||||
*/
|
||||
const RUFFLE_EXTENSION = new RufflePlugin("Ruffle Extension", "Ruffle Extension", "ruffle.js");
|
||||
FLASH_PLUGIN.install({
|
||||
type: FUTURESPLASH_MIMETYPE,
|
||||
description: "Shockwave Flash",
|
||||
suffixes: "spl",
|
||||
enabledPlugin: FLASH_PLUGIN,
|
||||
});
|
||||
FLASH_PLUGIN.install({
|
||||
type: FLASH_MIMETYPE,
|
||||
description: "Shockwave Flash",
|
||||
suffixes: "swf",
|
||||
enabledPlugin: FLASH_PLUGIN,
|
||||
});
|
||||
FLASH_PLUGIN.install({
|
||||
type: FLASH7_AND_8_MIMETYPE,
|
||||
description: "Shockwave Flash",
|
||||
suffixes: "swf",
|
||||
enabledPlugin: FLASH_PLUGIN,
|
||||
});
|
||||
FLASH_PLUGIN.install({
|
||||
type: FLASH_MOVIE_MIMETYPE,
|
||||
description: "Shockwave Flash",
|
||||
suffixes: "swf",
|
||||
enabledPlugin: FLASH_PLUGIN,
|
||||
});
|
||||
/**
|
||||
* Install a fake plugin such that detectors will see it in `navigator.plugins`.
|
||||
*
|
||||
* This function takes care to check if the existing implementation of
|
||||
* `navigator.plugins` already accepts fake plugin entries. If so, it will use
|
||||
* that version of the plugin array. This allows the plugin polyfill to compose
|
||||
* across multiple plugin emulators with the first emulator's polyfill winning.
|
||||
*
|
||||
* @param plugin The plugin to install
|
||||
*/
|
||||
function installPlugin(plugin) {
|
||||
if (!("install" in navigator.plugins) || !navigator.plugins["install"]) {
|
||||
Object.defineProperty(navigator, "plugins", {
|
||||
value: new RufflePluginArray(navigator.plugins),
|
||||
writable: false,
|
||||
});
|
||||
}
|
||||
const plugins = navigator.plugins;
|
||||
plugins.install(plugin);
|
||||
if (plugin.length > 0 &&
|
||||
(!("install" in navigator.mimeTypes) || !navigator.mimeTypes["install"])) {
|
||||
Object.defineProperty(navigator, "mimeTypes", {
|
||||
value: new RuffleMimeTypeArray(navigator.mimeTypes),
|
||||
writable: false,
|
||||
});
|
||||
}
|
||||
const mimeTypes = navigator.mimeTypes;
|
||||
for (let i = 0; i < plugin.length; i += 1) {
|
||||
mimeTypes.install(plugin[i]);
|
||||
}
|
||||
}
|
||||
|
||||
;// CONCATENATED MODULE: ./src/plugin-polyfill.ts
|
||||
// This file is compiled and then injected into content.ts's compiled form.
|
||||
|
||||
installPlugin(FLASH_PLUGIN);
|
||||
installPlugin(RUFFLE_EXTENSION);
|
||||
|
||||
/******/ })()
|
||||
;</script><script src="chrome-extension://donbcfbmhbcapadipfkeojnmajbakjdc/dist/ruffle.js?id=22781373355"></script><script>/******/ (() => { // webpackBootstrap
|
||||
/******/ "use strict";
|
||||
var __webpack_exports__ = {};
|
||||
|
||||
;// CONCATENATED MODULE: ../core/dist/flash-identifiers.js
|
||||
const FLASH_MIMETYPE = "application/x-shockwave-flash";
|
||||
const FUTURESPLASH_MIMETYPE = "application/futuresplash";
|
||||
const FLASH7_AND_8_MIMETYPE = "application/x-shockwave-flash2-preview";
|
||||
const FLASH_MOVIE_MIMETYPE = "application/vnd.adobe.flash.movie";
|
||||
const FLASH_ACTIVEX_CLASSID = "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000";
|
||||
|
||||
;// CONCATENATED MODULE: ../core/dist/plugin-polyfill.js
|
||||
|
||||
/**
|
||||
* Replacement object for `MimeTypeArray` that lets us install new fake mime
|
||||
* types.
|
||||
*
|
||||
* Unlike plugins we can at least enumerate mime types in Firefox, so we don't
|
||||
* lose data.
|
||||
*
|
||||
* We also expose a method called `install` which adds a new plugin. This is
|
||||
* used to falsify Flash detection. If the existing `navigator.mimeTypes` has an
|
||||
* `install` method, you should not use `RuffleMimeTypeArray` as some other
|
||||
* plugin emulator is already present.
|
||||
*/
|
||||
class RuffleMimeTypeArray {
|
||||
constructor(mimeTypes) {
|
||||
this.__mimeTypes = [];
|
||||
this.__namedMimeTypes = {};
|
||||
if (mimeTypes) {
|
||||
for (let i = 0; i < mimeTypes.length; i++) {
|
||||
this.install(mimeTypes[i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
/**
|
||||
* Install a MIME Type into the array.
|
||||
*
|
||||
* @param mimeType The mime type to install
|
||||
*/
|
||||
install(mimeType) {
|
||||
const index = this.__mimeTypes.length;
|
||||
this.__mimeTypes.push(mimeType);
|
||||
this.__namedMimeTypes[mimeType.type] = mimeType;
|
||||
this[mimeType.type] = mimeType;
|
||||
this[index] = mimeType;
|
||||
}
|
||||
item(index) {
|
||||
return this.__mimeTypes[index];
|
||||
}
|
||||
namedItem(name) {
|
||||
return this.__namedMimeTypes[name];
|
||||
}
|
||||
get length() {
|
||||
return this.__mimeTypes.length;
|
||||
}
|
||||
[Symbol.iterator]() {
|
||||
return this.__mimeTypes[Symbol.iterator]();
|
||||
}
|
||||
}
|
||||
/**
|
||||
* Equivalent object to `Plugin` that allows us to falsify plugins.
|
||||
*/
|
||||
class RufflePlugin extends RuffleMimeTypeArray {
|
||||
constructor(name, description, filename) {
|
||||
super();
|
||||
this.name = name;
|
||||
this.description = description;
|
||||
this.filename = filename;
|
||||
}
|
||||
}
|
||||
/**
|
||||
* Replacement object for `PluginArray` that lets us install new fake plugins.
|
||||
*
|
||||
* This object needs to wrap the native plugin array, since the user might have
|
||||
* actual plugins installed. Firefox doesn't let us enumerate the array, though,
|
||||
* which has some consequences. Namely, we can't actually perfectly wrap the
|
||||
* native plugin array, at least unless there's some secret "unresolved object
|
||||
* property name handler" that I've never known before in JS...
|
||||
*
|
||||
* We can still wrap `namedItem` perfectly at least.
|
||||
*
|
||||
* We also expose a method called `install` which adds a new plugin. This is
|
||||
* used to falsify Flash detection. If the existing `navigator.plugins` has an
|
||||
* `install` method, you should not use `RufflePluginArray` as some other plugin
|
||||
* emulator is already present.
|
||||
*/
|
||||
class RufflePluginArray {
|
||||
constructor(plugins) {
|
||||
this.__plugins = [];
|
||||
this.__namedPlugins = {};
|
||||
for (let i = 0; i < plugins.length; i++) {
|
||||
this.install(plugins[i]);
|
||||
}
|
||||
}
|
||||
install(plugin) {
|
||||
const index = this.__plugins.length;
|
||||
this.__plugins.push(plugin);
|
||||
this.__namedPlugins[plugin.name] = plugin;
|
||||
this[plugin.name] = plugin;
|
||||
this[index] = plugin;
|
||||
}
|
||||
item(index) {
|
||||
return this.__plugins[index];
|
||||
}
|
||||
namedItem(name) {
|
||||
return this.__namedPlugins[name];
|
||||
}
|
||||
refresh() {
|
||||
// Nothing to do, we just need to define the method.
|
||||
}
|
||||
[Symbol.iterator]() {
|
||||
return this.__plugins[Symbol.iterator]();
|
||||
}
|
||||
get length() {
|
||||
return this.__plugins.length;
|
||||
}
|
||||
}
|
||||
/**
|
||||
* A fake plugin designed to trigger Flash detection scripts.
|
||||
*/
|
||||
const FLASH_PLUGIN = new RufflePlugin("Shockwave Flash", "Shockwave Flash 32.0 r0", "ruffle.js");
|
||||
FLASH_PLUGIN.install({
|
||||
type: FUTURESPLASH_MIMETYPE,
|
||||
description: "Shockwave Flash",
|
||||
suffixes: "spl",
|
||||
enabledPlugin: FLASH_PLUGIN,
|
||||
});
|
||||
FLASH_PLUGIN.install({
|
||||
type: FLASH_MIMETYPE,
|
||||
description: "Shockwave Flash",
|
||||
suffixes: "swf",
|
||||
enabledPlugin: FLASH_PLUGIN,
|
||||
});
|
||||
FLASH_PLUGIN.install({
|
||||
type: FLASH7_AND_8_MIMETYPE,
|
||||
description: "Shockwave Flash",
|
||||
suffixes: "swf",
|
||||
enabledPlugin: FLASH_PLUGIN,
|
||||
});
|
||||
FLASH_PLUGIN.install({
|
||||
type: FLASH_MOVIE_MIMETYPE,
|
||||
description: "Shockwave Flash",
|
||||
suffixes: "swf",
|
||||
enabledPlugin: FLASH_PLUGIN,
|
||||
});
|
||||
/**
|
||||
* Install a fake plugin such that detectors will see it in `navigator.plugins`.
|
||||
*
|
||||
* This function takes care to check if the existing implementation of
|
||||
* `navigator.plugins` already accepts fake plugin entries. If so, it will use
|
||||
* that version of the plugin array. This allows the plugin polyfill to compose
|
||||
* across multiple plugin emulators with the first emulator's polyfill winning.
|
||||
*
|
||||
* @param plugin The plugin to install
|
||||
*/
|
||||
function installPlugin(plugin) {
|
||||
if (!("install" in navigator.plugins) || !navigator.plugins["install"]) {
|
||||
Object.defineProperty(navigator, "plugins", {
|
||||
value: new RufflePluginArray(navigator.plugins),
|
||||
writable: false,
|
||||
});
|
||||
}
|
||||
const plugins = navigator.plugins;
|
||||
plugins.install(plugin);
|
||||
if (plugin.length > 0 &&
|
||||
(!("install" in navigator.mimeTypes) || !navigator.mimeTypes["install"])) {
|
||||
Object.defineProperty(navigator, "mimeTypes", {
|
||||
value: new RuffleMimeTypeArray(navigator.mimeTypes),
|
||||
writable: false,
|
||||
});
|
||||
}
|
||||
const mimeTypes = navigator.mimeTypes;
|
||||
for (let i = 0; i < plugin.length; i += 1) {
|
||||
mimeTypes.install(plugin[i]);
|
||||
}
|
||||
}
|
||||
|
||||
;// CONCATENATED MODULE: ./src/plugin-polyfill.ts
|
||||
// This file is compiled and then injected into content.ts's compiled form.
|
||||
|
||||
installPlugin(FLASH_PLUGIN);
|
||||
|
||||
/******/ })()
|
||||
;</script><script src="chrome-extension://donbcfbmhbcapadipfkeojnmajbakjdc/dist/ruffle.js?id=67943262741"></script></head><body style="visibility: visible; background-color: rgb(160, 171, 180);"><div style="color: rgb(72, 83, 92); background-color: rgb(160, 171, 180); text-align: center;"></div><div style="color: rgb(72, 83, 92); background-color: rgb(160, 171, 180); text-align: center;"></div><div style="text-align: center;"><font size="5" face="ms mincho" color="#343c42"><b style="background-color: rgb(160, 171, 180);">Here are other sites I use to post art and sometimes sketches, alongside animations.</b></font></div><div style="color: rgb(72, 83, 92); background-color: rgb(160, 171, 180); text-align: center;">------------------------------------------------------------------------------------------------------------------------------</div><div style="color: rgb(72, 83, 92); background-color: rgb(160, 171, 180); text-align: center;"></div><div style="color: rgb(72, 83, 92); background-color: rgb(160, 171, 180); text-align: center;"><a href="https://www.pixiv.net/en/users/23957403" title="Pixiv (May contain some grimdark/edgy images.)" target="_blank"><img src="https://blog-imgs-154.fc2.com/l/h/v/lhv7cm2ajoj9/20220902183611bfd.png" alt="Pixiv img" align="baseline" border="0" hspace="0" vspace="0" /></a></div><div style="color: rgb(72, 83, 92); background-color: rgb(160, 171, 180); text-align: center;"><a href="https://www.pixiv.net/en/users/23957403" title="Pixiv"></a></div><div style="color: rgb(72, 83, 92); background-color: rgb(160, 171, 180); text-align: center;"><a href="https://www.plurk.com/Ra11oni_" title="Plurk (Sometimes CN)"><img src="https://blog-imgs-154.fc2.com/l/h/v/lhv7cm2ajoj9/20220902183613f6d.png" /></a><span style="white-space: pre;"> </span><a href="https://misskey.io/@HM077" title="misskey io (JP only)"><img src="https://blog-imgs-165.fc2.com/l/h/v/lhv7cm2ajoj9/2023040503110163e.png" border="0" hspace="0" vspace="0" /></a></div><div style="color: rgb(72, 83, 92); background-color: rgb(160, 171, 180); text-align: center;"></div><div style="color: rgb(72, 83, 92); background-color: rgb(160, 171, 180); text-align: center;"><a href="https://www.nicovideo.jp/series/359588?ref=garage_share_other" title="Animations List" target="_blank"><img src="https://blog-imgs-160.fc2.com/l/h/v/lhv7cm2ajoj9/NNicon1.png" alt="NicoNico (Animations)" align="baseline" border="0" hspace="0" vspace="0" /></a></div><div style="color: rgb(72, 83, 92); background-color: rgb(160, 171, 180); text-align: center;"></div><div style="color: rgb(72, 83, 92); background-color: rgb(160, 171, 180); text-align: center;"></div><div style="color: rgb(72, 83, 92); background-color: rgb(160, 171, 180); text-align: center;"></div><div style="color: rgb(72, 83, 92); background-color: rgb(160, 171, 180); text-align: center;"></div><div style="background-color: rgb(160, 171, 180); text-align: center;"><a href="https://donottadee.web.fc2.com/index.html"><img src="https://blog-imgs-165.fc2.com/l/h/v/lhv7cm2ajoj9/2023032311292425c.png" align="baseline" border="0" hspace="0" vspace="0" /></a></div><div style="color: rgb(72, 83, 92); background-color: rgb(160, 171, 180); text-align: center;"><p /></div><div style="color: rgb(72, 83, 92); background-color: rgb(160, 171, 180); text-align: center;"></div><div style="color: rgb(72, 83, 92); background-color: rgb(160, 171, 180); text-align: center;"></div><div style="color: rgb(72, 83, 92); background-color: rgb(160, 171, 180); text-align: center;"></div><div style="color: rgb(72, 83, 92); background-color: rgb(160, 171, 180); text-align: center;"></div><script><!--
|
||||
var fc2footerparam = 'charset=' + encodeURIComponent(document.charset ? document.charset : document.characterSet) + '&url=' + encodeURIComponent(document.location) + '&service=0&r=' + Math.floor(Math.random()*99999999999);
|
||||
var fc2footertag = "//vip.chps-api.fc2.com/apis/footer/?" + fc2footerparam;
|
||||
var script = document.createElement('script');
|
||||
script.src = fc2footertag;
|
||||
script.charset = "UTF-8";
|
||||
script.async = true;
|
||||
document.getElementsByTagName('head')[0].appendChild(script);
|
||||
//--></script>
|
||||
<!-- FC2, inc.-->
|
||||
<img src="//media.fc2.com/counter_img.php?id=50" style="visibility:hidden" alt="inserted by FC2 system" width="0" height="0">
|
||||
<!-- FC2, inc.--></body></html>
|
Loading…
Reference in a new issue