20200102-8

関連記事

デフォルト画像
2017.07.15
今日のハマりごと、lity.jsと右クリック禁止

自分の力での解決は不可能でした 今週はハマりごとが大量にありましたけど、クソ面倒だったのは多分今日。 動画周りのお話です。 備忘録代わりに書きますが、詳細な技術面の話は一切しません。 自分で理解できてないことが多いし、再現しろと言われてもできないからです。 HTML5からなのかは知識不足で知らないけど、videoタグがありますよね。 直接mp4とかの動画を埋め込んでくれる便利なやつです。 その辺で大分やられました、主に5時間ほど。 今日やろうとしたのは、動画の埋め込み。 やったこととハマったことは以下の通り。 ・動画を埋め込む、埋め込みにはLity.jsを使う Lity採用理由:colorboxがクソダサだからもっとシンプルなやつっていう指示 ・Chromeはvideoタグにダウンロードボタンが付いたのでそれを削除 理由:多分ダウンロードをされたくないから、Chrome氏ね ついでに右クリックも禁止、ダウンロードされるから ・PC/Android/iPhoneすべてで問題なく見れること 理由:それなりにデカイ案件だったし、そもそもその三機種で見れるのは最低条件 主に下2つでハマりました。 とりあえずまずは一番下のやつから Android PCとiPhoneは問題なく見れたんですよね。 前者はLityのボックスで、後者はフルスクリーンで。 んだけども、なぜかAndroidは見れないわけですよ。 色々と調べてみると、どうやら4系は標準メディアプレーヤーがゴミカスな模様。 Lityで頑張って出そうとするのになぜかダウンロードをしはじめる始末です。 そのくせただvideoタグで埋め込むだけだと再生ボタンすら表示させないというクソ仕様。 誰だよAndroid4系を開発したのは、開発者出てこい。 仕方がないので、Androidに関してはJSで対処しました。 やったのはPlay()とPause()を交互に繰り返すこと。  (多分書き方は合ってる) って感じで、videoにidを振って、クリックしたときに関数を呼びました。 JS側では function play_movide() { } みたいな感じで作った関数の中で、 ・クリックされた要素のidを取得 ・それがPlay中ならPause() ・それがPause中ならPlay() ってのをやっただけです。 Androidくんの場合だけで適用され、表示的にはフルスクリーンにならずにその場で再生されます。 タップをすると再生、もう一度タップで停止。 便利なのは、HTML5のおかげか、再生中と停止中の状態をJSで取得できることですね。 なのでif文でPlayかPauseかを判断することができるわけですよ。 このことに気づくまで3時間ぐらい掛かりました。 オイオイオイ死ぬわ俺とか思いながらやってましたよ? Chromeのダウンロードボタン Chromeは標準のメディアプレーヤーに、56?ぐらいからダウンロードボタンがつきました。 それをクリックすることで簡単に動画を落とすことができます。 クソ仕様です、クソ仕様。 何がクソって、そういうのは基本的にしてほしくないからです。 そもそもいらねえでしょ、そんな機能。 まあそんな文句ばかりは言えないので、対処のお話です。 何やら調べてみると、 ・CSSでwebkitを用いてダウンロードボタンを消滅させる(無理やり消失) ・ver58から、videoタグにcontrolListだかでnodownloadを指定すると消えるようになった の二通りがあるようです。 後者はすごく便利ですが、なんと58系のChromeからしか適用されません。 それにしたって57以下はコンマ以下の%の人間しか使ってないから問題ないんですけどね。 で、「だったら付けて解決じゃねえか」って思うかもしれませんが、そうは問屋が卸さない。 ここに使っていたプラグイン、Lity.jsが立ちはだかります。 という本題に入る前に、ついでのお話。 もう一つの指示があって、それは右クリックを禁止するというものです。 いくらダウンロードが消えたといっても、右クリックされるようでは簡単にダウンロードはされます。 開発者ツール開かれたら簡単に落とされますけど、そこまでする人間はそういない。 右クリック禁止のやり方については調べてください。 この2点、 ・nodownloadかwebkitでボタンを消す ・右クリックを禁止する ということをしようとするとLity.jsが邪魔するわけです。 何が邪魔かって、クリックするまではそのオブジェクトが存在しないんです。 最初は ってあるんだからbodyかvideoにかけりゃええやろって思いました。 webkitだってvideo::webkit~でなんとかなるやろって思いました。 はい違います。 ぼくも良くは知りませんが、Lity.jsは画面内でiframeとbodyを生成するんですよね。 要は別画面を生成して、その中に動画をcolorbox化して読み込むみたいな? 読み込まれるのは標準プレーヤーなんですが、iframe内のせいでJSをが入り込めません。 なんていうか、iframeの中をJSを操作することってできないらしいです。 CSSは理由がよくわからん。 要は、生成されてないんだからそのDOM操作できねえよバーカ! iframeだからJSで疑似要素を操作することもできねえよアーホ! って感じでハマりました。 助けてもらって解決しましたが。 解決案は、Lity.jsを使用するために付けるdata-lityを利用すること。 これを持ったDOMをクリックするときにfunction()して色々やります。 クリック関数になるので、生成されたiframe内からvideo要素を取得。 そこらへんで右クリック禁止したり、removeAttributeしたり、setAttributeしました。 という感じで解決。 氏ねって思ったのはLity.jsが想像以上に難解な仕様をしてくれたからです。 素直にHTML上で設置したvideoタグを使えって思いますよほんとに。 なにはともあれ、お陰様でダウンロードボタンを消すこともできました。 もーまんたい!もーまんたい! ほとんどぼくの力じゃないけど!! もうこんなんはコリゴリだよ、氏ね。 それでは今日はここらでサヨウナラー

2019.12.11
「深潜症:復刻」魔女兵器布教活動の時間だゾ

深潜症だよレンくんちゃん集合! ぼくがゲームを始める1ヶ月前に終わりを迎えた深潜症が、とうとう復刻します。どれだけこの時を待っていたか。 まず大前提として、魔女兵器はメインシナリオの合間にイベントシナリオがあるわけではなく、メインシナリオの続きとしてイベントシナリオがあります。つまり、すでにメインシナリオは更新を終えていて、続きのシナリオはすべてイベントシナリオという扱いになります。(このあたりは公式でも取り上げられてて、漫画ページにある運営レターがそれに当たります) 運営レター https://witchs-weapon.net/cartoon/1233.php ですので、その時々のイベントシナリオでは、「過去のキャラが今どうしてるか」だったり、「過去のイベントキャラが話に加わってくる」ということが往々にしてあります。よく出てくるキャラとしてはハインリッヒなどでしょうか?ぼくは深潜症をやっていないのでわかりませんが、メインシナリオで出てこず、創傷反射で名前や役割が出てきたのでそういうことだと思います。 つまり、過去のシナリオを見ていないとわからないことがかなりあるゲームなんですね、魔女兵器というのは。個人的には問題点として挙げられるべき点のひとつであるとは思います。 そして特に問題視すべきは、過去のシナリオを見る手段が存在していなかったということ。 一応イベントシナリオ解禁用のアイテムとして「追憶の鍵」というものがありますが、これ現状利用不可なんです。おそらくシステムとしてまだ未完成なため、買ったとしてもどこでも使えません。なので、過去のイベントシナリオは見逃した時点で見ることができなかったんですね。 そんな折、とうとう魔女兵器運営が深潜症の復刻を予告しました。2番目のイベントである創傷反射からプレイしたぼくとしては、大変ありがたい予告です。今からドキドキがムネムネですねェ!!!! 運営様の予告 長々と書いてしまいましたが、これが運営からのイベント予告です。 https://twitter.com/witchsweapon/status/1204325972448669696 お前のことが好きだったんだよ…。 シナリオ数を見てもわかるように、深潜症って一番ボリュームのあるシナリオだったみたいなんですよね。 深潜症 :PART30創傷反射:PART15黙示録 :PART20星塵降臨:PART16~(以降シナリオ延期) メインシナリオ終了後第一発目ともいうべき続編シナリオ、更に初回ということもありこのボリュームの多さ。魔女兵器はそれぞれのシナリオの分量が「ラノベかよ」というくらいありますから、深潜症は読むだけでもかなり体力を使うかと思います。 それだけ大ボリュームで楽しめるってことですね!!! 魔女兵器を始める人は今からやろう!!! 魔女兵器が気になってる人がいたら、今すぐプレイを始めるべきだと思います。理由は複数。 ・シナリオを読むだけであれば今から始めても間に合う魔女兵器はイベント期間が長めです。他のゲームと違って1週間半とか2週間ではなく、大体1ヶ月近くやります。なのでその間に鍛えればシナリオを全部読むぐらいはできます。(1日デイリー分をしっかりやればそれだけの短時間でもイケると思います、多分) ・初回のシナリオの設定を継いでる部分が他シナリオでも結構ある初回だからどうかってところではありますが、各イベントシナリオで深潜症のことだったと思われる記述がいくつか出てきます。割と出てきます。ぼく個人の意見ですが、魔女兵器はシナリオとキャラの良さが9割だと思ってます。どうせなら今すぐはじめてシナリオだけでも読んだほうが良いです。 ・次いつ来るかわかんねえぞ!!!「追憶の鍵」が使えない現状、復刻を逃したら次いつイベントシナリオを読めるかわかりません。最初の深潜症が4月、今回が12月なので半年以上待ったことになります。次までは間違いなく新規イベントや別の復刻が入るはずです。今やらないと後悔するのはお前だぞ!!! 魔女兵器は厨二感たっぷりのラノベ的シナリオです。SCPみたいなのを巡ってSCPみたいなのになった主人公のレンちゃんが可愛がられたり可愛がられたりする楽しい楽しい読み物です。正直ゲーム性は微妙な所もありますが、シナリオとキャラはガチです、ガチ。 だからやろうぜ魔女兵器!とりあえずOPとか置いとくからな!これ見てはじめてくれよな!! https://www.youtube.com/watch?v=6KtN0e9ZjeY&feature=emb_title https://www.youtube.com/watch?v=kEaolqdKK7A&feature=emb_title (小説化、漫画化、メディアのほうも頑張ってくれ…頑張ってアニメ化まで行ってくれ…) ちなみに、ぼくの推しはソヤです。黙示録やった人間ならソヤをお気に入りにするのは道理なんだよな…。 →のがソヤ。あの世を見てきた子。

2019.12.26
新潟のラーメンサブスクリプションアプリが誕生、「ラーメンクーポン新潟」

どんだけラーメン好きなんだよ なんか美味いラーメン屋でもできてねえかなとkomachi見てたら、ラーメンのサブスクリプションアプリが誕生してました。 月に1杯ラーメンが無料で食べられるアプリが誕生しました! https://komachi-mag.com/gourmet/18733/ どうやらアプリを作ってしまった模様。月に1杯、対象のどこかの店でラーメンが無料で食べられるんですって。 確かに、新潟県民はラーメンが好きです。というか人間ならラーメンは好きです。 komachiはラーメン特集をしょっちゅう組んでて、ラーメンのことしか書いてない雑誌を定期的に発行していたりします。そういうラーメン好きな一面があることは知っていますが、ここまでするかね感。 happy pass とかいうのも新潟にはありますが、実際どっちのほうが有名というか、認知度が高いんでしょうね。まあどっちでもいいんですけど。 ここがすごいぞ「新潟ラーメン」 「ラーメンクーポン新潟」なのか「新潟ラーメン」なのか、アプリ名は統一してほしいこのアプリ、割と便利。 月額500円を支払うことで、新潟県内にあるラーメン屋で特定の1杯がタダになります。500円を払うことでラーメンがタダになる…?無料とは一体。 注意点としては、「特定の一杯」ということと「対象のラーメン屋」ということでしょうか。それでも十分有名店は抑えてるみたいなので便利。 ぼくは味勲拉なんかわりとよく行くので、ちゃんと対象に入ってることに安心感を覚えます。しっかり誠ラーメンが対象なのも素晴らしいポイントですねェ! しかもこのアプリ、有料クーポン以外にもいつでも使える繰り返しクーポンがあります。上の画像を見てわかる通り、大盛り無料とかそういうの。要はアレですよ、らーめん巡りのクーポンページにあるそういうやつ…。(正直ここに関してはWEBで出せるらーめん巡りのほうが優れてると思わんでもない) 月に500円も払えば多少安くラーメンが食える上、クーポンも付いてくるというわけですね! ここがダメだよ!「ラーメンクーポン新潟」 は? というわけでiOSの皆さんはまだ使えません。実質Android先行ということですね。個人的に結構使いたいので、ぜひとも来月には使えるようになっといていただきたい。開発間に合わなかったんですかね。 この記事を見てる人が意外と多いので追記しておきます。2020年2月7日現在、ios版も好評稼働中です。実際には先月の1月20日ぐらいには使えるようになってました。 みんなも新潟でラーメン食べよう!ぼくは今日(2月7日)ラーメン高野で今月分のクーポンを利用したゾ! これは使わざるを得ない ラーメンのサブスクリプションとしては、店が単体でやってるというケースもありますよね。 【野郎ラーメン】サブスクリプションモデルを11月1日リリース 定額で野郎ラーメンが食べられる http://fr-h.co.jp/news/subscription こういうの。定額でラーメン食い放題とかそういう。ここまで来ると流石に早死にしたいんだろうなとしか思えませんが。 とはいえ、月500円支払えばどこかのラーメンが食えるというのは大変魅力的です。猫満も対象に入ってるしな!!!猫つけめん無料に、ギョーザ3個券だぞ!!!これ使えばラーメン食ってギョーザ食って金払わないで帰るとかいう意味わからんムーブができるんだぞ!!! ということなので、とりあえず新潟に住んでる人間を名乗る種族はこのアプリを入れると良いよ。それでラーメンでも食べればいいと思うよ。 あのさあ!新潟県民ならさ!!ラーメンぐらい食おうよ!!ねえ!!ガキじゃねえんだからさ!!