「ブラウザ」を含む日記 RSS

はてなキーワード: ブラウザとは

2022-08-21

anond:20220821084115

まあわかるよ。じゃあ有料メディアはどれをみたら?ってなるんだけど、

有料メディアがない分野とか多いもんね。

タイトルだけだったら日経本紙と日経〇〇はまだそれなりにいいんじゃないか。インプレス系も頑張ってる印象ある。〇〇Watchよくない?

他に分野の専門紙だね、化学工業日報とか電気新聞とか繊研新聞とか・・・

あとは特許公報とか論文検索とか一次情報に戻っている人たちもいるんじゃないか

最近話題になってたけど、はてブブラウザサードパーティプラグインなんかもつかって

フィルタかけまくって残っているテックブログ更新なんかを追う人もいるようだ。

最近あんまり流行らないけど、自分情報サイト始めるっていうのはどうよ?

2022-08-20

恨みつらみをやめたい

モラハラなところあったし、今では別れて正解とは思ってるけど、元彼のことを恨みに思う気持ちがなかなか捨てられない。

彼に費やした数年の時間と金はもう返ってこない。奪われたぶんだけ相手にも不幸になってほしい、後悔してほしいという考えがふとした瞬間に出てきてしまう。

不幸になってるところ見たくて元彼Twitterを未ログインブラウザで時々見てしまうの、惨めすぎるし私自キモいと思うし辞めたい。

ちなみに元彼は元気そうでした。よかったね。お幸せに。どうかあなたバカにして人生踏み躙った女のことを忘れないでいてほしいけど、もう忘れたんだろうな。

2022-08-18

anond:20220813215750

テレビラジオ業界人間からしたら、音楽がなかったらコンテンツスカスカなっちゃうから

ネットメディアが主流になってからは、視覚情報オンリーブラウザアプリでも全然平気なことがわかっちゃった

YouTubeだって音消して字幕だけ見てるやつも多い

ネット時代にはNo Music, No Lifeは成立しない

2022-08-17

ブラウザamazon music開いてMy BGM流しているとだいたい同じもんしか流れへんよな

2022-08-16

anond:20220816103539

そんなコメント見当たらないかシークレットブラウザで開いたら出てきたわ

非表示にしてるイキりカスブクマカだった

anond:20220816020033

Kindleアプリでは買えなくなったけどブラウザからならスマホでもいまも買えるで

2022-08-15

Webはてブミュー機能作った

勝手に tampermonkey とかに突っ込んで使ってヨロ

スクリプト保守とかするつもりないから、保守とかするつもりのあるパワーの溢れた人が

これ参考とかにしてもっとかっちょよくしたのを greasy fork あたりに公開してくれ

そしたら俺もそれ使う

使い方:

ブラウザの開発環境を開いて、開発コンソールを開く

localStorage.hatebu_ng_word_list に非表示トリガーになる文字列を|区切り登録する。

localStorage.hatebu_ng_word_list = "池田信夫|フェミ|弱者男性|やまもといちろう"

実際のコード

大なり小なり(>)が実体参照で表示されるのはよくわからん。使う人で適宜コードを直してくれ。

// ==UserScript==
// @name         はてブの一覧NG記事非表示
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  try to take over the world!
// @author       masuda
// @match        https://b.hatena.ne.jp/*
// @icon         https://www.google.com/s2/favicons?sz=64&domain=hatena.ne.jp
// @grant        none
// ==/UserScript==

(function() {
	'use strict';

	if (!localStorage.hatebu_ng_word_list) {
		return;
	}
	console.log("はてブの一覧NG記事非表示", localStorage.hatebu_ng_word_list);

	/*
	 * 例:
	 * localStorage.hatebu_ng_word_list =
	 * "池田信夫|フェミ|弱者男性|やまもといちろう|togetter.com";
	*/
	let words = localStorage.hatebu_ng_word_list.split('|').map(w => new RegExp(w));

	function entryDelete(els) {
		els.forEach(el => {
			let hit = false;
			words.forEach(w => {
				hit = hit|| w.test(el.textContent);
			});
			if (hit) {
				el.remove();
			}
		});
	}

	// entrylist-header-main li 1つ目のアイテム
	entryDelete(document.querySelectorAll('.entrylist-header-main > li'));
	// 2つ目以降の li アイテム
	entryDelete(document.querySelectorAll('.entrylist-item > li'));
})();

文字正規表現として評価されて、ヒットした記事項目をページから削除する(DOMから要素を削除する)。

際限なくNG登録できるけど、沢山非表示するとつまらない一覧になる

2022-08-14

anond:20220814045619

anond:20220814045619

増田ってすげーんだな。あの駄文の奴againだよ。

時代Twitterじゃない。一周回って増田なんだ。

初老すぎて厨二病拗らせただと?その通りだ。

具体的なことを箇条書きにして、改行もするなと。

話が飛び飛びもあかんと。わかったよ。みんな温かいんだな。

もう昔の話だし、増田だったら、書いても良いよね?

また、大した話じゃないし。フィクションだと思って、読んで貰えば。

誰とは言わないが、彼から聞いた話を書くわ。

ガサ入れきてもよゆーっすw

・とりあえず、令状見せてもらえます

・あーはいはいw令状に書いてないことには応じません

押収ですか?あーどうぞご自由

ケータイ暗証番号?教えられません

パソコンパスワード内緒です

クラウドパスワード記憶がありません

ブラウザ閲覧履歴は必ずクリア

ネット通信VPN経由で

パソコンハードディスク暗号化

・ニンテイ(任意提出)は一切応じません

ニンテイになっているものはその場で返却要請

警察応対の基本は「それってあなた感想ですよね?」

事情聴取は完黙

捜査を進展させない秘訣だよ。

危ない奴、↑ 印刷して部屋に貼っとけよ。

ロクな証拠自白もなければ、事件になり得ない。

苦汁を飲んだんだよ。

奴は論破に長けているだけじゃないんだよ。

Twitter警察が、あんなでかい企業相手にできるわけがない。

そこそこ天下り受け入れて、投稿者情報を開示したり、適度に有害情報バンしてくれれば、刺さないから。

仲良くやろうや。ああいうところには、下民にはわからない会話が成り立つんだよ。

一度もTwitter Japanが警察沙汰になってないだろ?

Twitterなんか、出会い系無修正画像サイトに成り下がってるじゃねえか。マジでやすいしお世話になってるわ。

世の中を常に疑え。

邪魔したな。あばよ。

anond:20220814013055

お局スレッドで見たから、増田って前回の書き込みがそのままブラウザかどっかに保存されてるじゃん?そこでこの内容を登録する押しちゃったとかじゃね?

2022-08-11

anond:20220811212605

わざわざ開発環境を導入するよりは楽じゃない?ブラウザなんて今日日使ってない人はいないんだから

ちゃん勉強するなら開発環境を入れる必要はどうしても出てくるけどさ

anond:20220811211429

ブラウザでF12キーを押して「コンソール」を開けばJavascriptコンソールが開いてその場でHELLO WORLDできるんだから楽じゃん?

anond:20220811210806

横だけど最初の一歩ならJavascriptが適切な気がするわ

ブラウザでF12押すだけで最低限の環境が出てくるしさ

ブラウザ拡張界に激震が走った

ご存知とは思うのですが、Google Chrome既存拡張機能は本年の12月末日をもって利用できなくなります

それまでに、あたらしい記述方法(MV3)で書き直してウェブストアに提出しなくてはなりません。

MV3のルールとして、サービスワーカーを実行主体として機能を実現させる必要があるのですが、現状ではそのサービスワーカーがまともに動作しません。

とりわけ致命的なバグが、2019年に報告された「サービスワーカーが停止すると(一部のケースを除いて)もう二度と起動しない」というものです。

このバグは非常に有名なのに3年近く放置されており、このためにMV3への移行に二の足を踏んでいる開発者も多いのではないかと推察していました。

ところがなんと今日フォーラムにこんな投稿が!

FYI: We are targeting fixing this bug this quarter.

一行だけ。

そしてこんな状況で12月までにMV2を切ろうっていうGoogle姿勢が恐ろしい。

絶対に間に合わないでしょ、これ。

2022-08-10

モーフィアス「青い薬を飲めば、お話は終わる。君はブラウザを閉じ仕事に戻る」

モーフィアス「赤い薬を飲めば、君は増田にとどまり、私がはてなーの奥底を見せてあげよう」

2022-08-08

anond:20220808214833

Togetterスマホブラウザで見るとイライラするものは山のようにあるが、人気がありそうな移動先にまつわるものはだいたい以下の2点かと思う

・ まとめのコメントを見ようとして画面上部のコメントタブを押そうとしたら一つ上の領域が下がってきて「今週の人気」とかタップする羽目になった

ランキングが(1時間10回くらいチェックしてるせいで)全く変動しないので新着まとめを見ようとスッとやってスッとタップしようとしたらへんなとこ押ささった(北海道弁


まとめのコメントページは、画面上部の不安定場所にあるコメントタブからだけではなく、画面右下の丸い吹き出しマークを押すことでも移動できる

吹き出しマークは画面スワイプでうにょうにょ移動したり出たり消えたりしないので、こっちを使うとストレスが減る

新着まとめを見たい場合一気に実ページの先頭までスワイプしてから実ページの最上部タブ領域を押すようにするとよい

中途半端な画面位置で画面上部ににゅっと親切めかして出るタブモドキに頼ってはダメ

あいつらちょっと画面動くといきなり消えて別なとこタップした判定になるぞ

悲報】電撃オンラインさんやらかす【誤報

【サ終】『アイドルマスター シンデレラガールズ スターライトステージサービス終了が発表

https://dengekionline.com/articles/144241/

 

実際に終了するのは音ゲーの「スターライトステージ」のほうではなくて

2011年フューチャーフォンからスタートしたポチポチゲーの「アイドルマスターシンデレラガールズ」のほう

スマホでも動いていたがいわゆるブラウザアプリであったため、評判はいまいち

顧客の大半はスターライトステージに移動しており、続いているのが不思議なほどだった

 

しっかりしろ、しっかり

2022-08-06

ネットでの支払いで、他サイトサービスを介した支払いがうまくいかない時

ネットでの支払いで、他サイトサービスを介した支払いがうまくいかない時

例えばネット通販の支払いで楽天PAYのようなネット支払いサイトから支払いをしたいときに支払いがうまくいかない事がを想定する。

これ見てみるとブラウザが別プロセス?別ウィンドウというか、技術的な定義は知らないがそう言う感じで別に起動されると支払いがうまくいかないようだ・・・と気づいた。

例えば

ネット通販(A社ブラウザ 1)から購入処理をして、支払いの時にネット支払いサイト(A社ブラウザ 2)のようにサイトを遷移すると駄目らしい。

これはセキュリティソフトの設定などで例えば、ネット通販サイトは通常のブラウザで開き、ネット支払いサイトはセキュアな設定でブラウザを開きなおすのようなものになっているとこういう事が起きてしまうらしい。

まり同じA社ブラウザでも二重に起動するとやりとりがうまくいかないのか?

方法として通販サイトの方(ここではネット通販)を初めから支払いサイトと同じプロセスウィンドウ?で開くとうまくいくようだ。

今回の環境ではネット支払いをセキュアな設定で開き、このプロセスウィンドウ?で通販サイトで購入、同じプロセスウィンドウ?でネット支払いでの支払いまでいく。

というか通販関係や支払い関係はみんなセキュアな環境の方が良いな。

説明が下手だがこういう感じで試して欲しい。

2022-08-04

Amazon Echo Show5でブラウザ経由で30分の動画を見たらめっちゃ端末熱い

触る画面とかアチアである

ぶ厚い筐体のへぼへぼスマホなので理屈上ぐうの音も出ないのだがどうしたものか…

集中すると周りの雑音まで集中しちゃう

PCで音量上げる時にブラウザだけイヤフォンだけで音量調整できるけど、マスタ音量しかなくて上げると全部上がる感じ

から集中してる時に話しかけられたりテレビついてるとイライラちゃう

ヤフーニュース新規タブ開きすぎる

気付いたらブラウザのタブ開きまくり。いつからだろう。

anond:20220804080612

俺も増田歴は6年くらいになるけどブクマは一切触れて来なかったな(笑)

ブラウザブックマーク全然事足りてる

同期もしてくれるし

2022-08-02

anond:20220802202715

それが「自分が5分くらい前に書いてブラウザ閉じずに放置してたやつ」であっても何か書くことはあるよね

(そしてその内容は別に自己同意とは限らないし文脈に乗ったものとも限らない)

増田構造文句つけたがる割に増田をわかってない人が多すぎる

2022-08-01

anond:20220731183342

自動安価をつけて返信するプログラムでもこんなに長く複雑になる(一部抜粋) 

/**************************************

以下のCSV_DIR, FILE_PATHS, SETTINGSを書き換えてね。 <h3>o- *************************************/</h3>

//CSVファイルが置かれてるディレクトリパス投稿前にエラー出たら大体ここの設定ミス。 例:"C:\\Users\\sakuraimasahiro\\Documents\\iMacros\\Macros\\rentou\\";

const CSV_DIR =

'C:\\Users\\USER\\Desktop\\iMacros\\Macros\\rentou\\';

//ファイルパスCSV絶対パスで、拡張子必要。iimは相対パスでよく、拡張子不要

const FILE_PATHS = {

//投稿文が書かれたCSVファイル

textCsv: CSV_DIR + 'textNoAnker.csv',

//レス投稿文が書かれたCSV。通常とレス用で分けないなら同じファイルを使えばいい。

replyTextCsv: CSV_DIR + 'textReply.csv',

};

const SETTINGS = {

//投稿後の基本待ち時間

baseWaitTime: 5,

//baseWaitTime+0~waitTimeRange(ランダム)だけ待つ

waitTimeRange: 5,

//連投しすぎだと忠告された場合に処理を一時停止させる時間(秒)

waitTimeForAvoidingPunishment: 60 * 30,

//メール

mail: 'sage',

//名前設定

nameSettings: {

//名前名無しなら''。

name: '',

//以下、偽装ワッチョイ設定。浪人ワッチョイを非表示にしてるときだけtrueにしてね。

//妙なニックネーム(ワッチョイ、アウアウウーなど)をランダムで決めて付加するかどうか。true=付加する。false=付加しない。

nickname: false,

//妙なニックネームの後に付く8桁の文字列ランダムで決めて付加するかどうか。

korokoro: false,

//IPランダムで決めて付加するかどうか。

ip: false,

//地域ランダムで決めて付加するかどうか。

area: false,

},

postSettings: {

//アンカー無し投稿をするならtrue。しないならfalse。noAnkerPostかreplyPostのどちらかはtrueにすること(両方trueでもOK)。

noAnkerPost: false,

//アンカー付き投稿(返信)をするならtrue。しないならfalse。もしnoAnkerPostとreplyPostの両方がtrue場合投稿は返信が優先され、返信対象が見つからなくなったらアンカー無し投稿をする。

replyPost: true,

//最初に取得するアンカー無し投稿CSVファイルの行番号。もし返信用と同じCSVファイルを使うなら-1と入力

noAnkerPostTextCsvStartRow: 1,

//最初に取得する返信用投稿CSVファイルの行番号。もしアンカー無しと同じCSVファイルを使うなら-1と入力

replyPostTextCsvStartRow: 1,

//テキストCSV/返信用テキストCSVの取得行が最終行に達したら最初の行まで戻るかどうか。true=戻る。false=マクロ終了。

textCsvLoop: true,

//返信する場合、これより小さなレス番には返信しない。返信を投稿すると、この数値は前回の返信先のレス番に更新される。

minAnker: 895,

//返信する場合名前に以下の文字列を含む投稿アンカーをつけて返信する(ワッチョイやIPなど名前フィールドにあるものならなんでも可)。配列複数指定可能指定無しなら空配列([])。filterNamesとfilterNamesNotIncluded共に無指定ならレス番1から順に返信していく(minAnkerが設定されてればそこから順に)。以下のfilter系は全て併用可能

filterNames: [],

//↑とは逆に、名前に以下の文字列を含まない投稿アンカーをつけて返信する。↑と併用も可能

filterNamesNotIncluded: [],

//返信する場合、本文に以下の文字列を含む投稿アンカーをつけて返信する。

filterText: ['自演かな', '自演わらわら', 'スクリプト使うの', '安価ガバ', '>>660', '自演擁護', '最後' ,'あいうえお', 'かきくけこ', 'さしすせそ', 'なにぬねの', 'はひふへほ', 'まみむめも', 'やいゆえよ', 'やゆよ', 'らりるれろ', 'わいうえを', 'わをん', 'わいうえをん'],

},

//自分IPアドレス確認VPNとかでIPを変更してマクロを動かしてるとき、突然VPN作動しなくなってIPが元に戻ったときマクロを止めるためのもの

ipSettings: {

//自分現在IPアドレス確認をする。

checkIp: true,

//以下の文字列自分現在IPアドレスに含まれている場合マクロを一時停止する。基本的自分の本当のIPアドレス入力

avoidTheIp: '133.206.99.224',

},

//浪人設定。最後動作確認したのは5年くらい前で、今も同じように動作するかは、浪人を持ってないか確認できずわからない。

roninSettings: {

//浪人ログインしてるかどうかをチェックするかどうか。trueらするfalseならしない。trueにしていてもし浪人ログインしていないことを確認したらログインしにいく。

checkLogin: false,

//浪人ログインメールアドレス

mailAdress: 'abc@def.com',

//浪人ログインパスワード

password: '1234',

},

//false: run()実行させず(デバッグ用)

run: true,

//true: 投稿処理だけしない デバッグ

skipPost: false,

};

/**************************************

設定箇所終わり。

書き込めない時の早見表 - 5ちゃんねるwiki

https://info.5ch.net/index.php/%E6%9B%B8%E3%81%8D%E8%BE%BC%E3%82%81%E3%81%AA%E3%81%84%E6%99%82%E3%81%AE%E6%97%A9%E8%A6%8B%E8%A1%A8 <h3>o- *************************************/</h3>

/**************************************

メモ

クラスフィールド宣言できない。

・NULL演算子(??)は使えない。論理積(&&)は使える。

オブジェクトの分割代入はできない。

・importはできない。 <h3>o- *************************************/</h3>

/**************************************

関数 <h3>o- *************************************/</h3>

/**

* ここから始まる。

*/

function run() {

//設定ミスがないか調べる。

checkSettings();

var _TextCsvCursors = new TextCsvCursors(

new TextCsvCursor(

SETTINGS.postSettings.noAnkerPostTextCsvStartRow > 0

? SETTINGS.postSettings.noAnkerPostTextCsvStartRow - 1

: SETTINGS.postSettings.noAnkerPostTextCsvStartRow,

FILE_PATHS.textCsv,

SETTINGS.postSettings.textCsvLoop,

),

new TextCsvCursor(

SETTINGS.postSettings.replyPostTextCsvStartRow > 0

? SETTINGS.postSettings.replyPostTextCsvStartRow - 1

: SETTINGS.postSettings.replyPostTextCsvStartRow,

FILE_PATHS.replyTextCsv,

SETTINGS.postSettings.textCsvLoop,

),

);

var _LoopStatuses = new LoopStatuses(0, SETTINGS.postSettings.minAnker);

const _MyPosterName = new MyPosterName({

name: SETTINGS.nameSettings.name,

});

//スレURL指定

const _ThreadUrl = openPromptThreadUrl();

//ループ

while (true) {

//IP確認する設定なら、それをする。

SETTINGS.ipSettings.checkIp && checkCurrentIpNotTheIp();

//スレを開く

openUrl(_ThreadUrl.fullUrlHttps());

//浪人ログインする設定なら、浪人ログインしているかどうかを確認し、していなければログインしにいく。

if (SETTINGS.roninSettings.checkLogin) {

if (!checkRoninLogin()) {

loginRonin();

continue;

}

}

//投稿に使うテキスト取得。

const p = (function () {

if (SETTINGS.postSettings.replyPost) {

//返信あり設定の場合。返信対象が無いか調べる。

const targetAnkerNumber = createPostDOMList()

.filterPostnumberHigher(_LoopStatuses.currentMinAnker())

.filterByPostername(SETTINGS.postSettings.filterNames)

.filterByPosternameNotIncluded(

SETTINGS.postSettings.filterNamesNotIncluded,

)

.filterByText(SETTINGS.postSettings.filterText)

.lowestPostNumber();

if (targetAnkerNumber !== null) {

//返信対象があったのでアンカー付き投稿文を作る。

const r = _TextCsvCursors.takeNextRowTextAsReply(targetAnkerNumber);

messageDisplay(`返信対象有り。アンカー先: ${targetAnkerNumber}`);

return {

...r,

updatedLoopStatuses:

_LoopStatuses.updateMinAnker(targetAnkerNumber),

};

}

}

if (SETTINGS.postSettings.noAnkerPost) {

//返信対象無し、或いは返信しない設定の場合アンカー無し投稿文を作る。

const r = _TextCsvCursors.takeNextRowTextAsNoAnker();

messageDisplay('返信対象無し。アンカー無し投稿。');

return {

...r,

updatedLoopStatuses: _LoopStatuses,

};

}

return null;

})();

if (p) {

//投稿

postThenCheckError(

_ThreadUrl.serverName(),

_MyPosterName.randomize({

nickname: SETTINGS.nameSettings.nickname,

korokoro: SETTINGS.nameSettings.korokoro,

ip: SETTINGS.nameSettings.ip,

area: SETTINGS.nameSettings.area,

}),

SETTINGS.mail,

p.text,

);

//_TextCsvCursorsと_LoopStatusesを更新

_TextCsvCursors = p.updatedTextCsvCursors;

_LoopStatuses = p.updatedLoopStatuses.incrementPostCount();

messageDisplay([

`投稿回数: ${_LoopStatuses.currentPostCount()}`,

`minAnker: ${_LoopStatuses.currentMinAnker()}`,

`今回アンカー無し投稿取得行: ${_TextCsvCursors.currentRows().noAnker}`,

`今回アンカー有り投稿取得行: ${_TextCsvCursors.currentRows().reply}`,

]);

} else {

messageDisplay([

`返信対象が現われるのを待機中...。`,

`投稿回数: ${_LoopStatuses.currentPostCount()}`,

`minAnker: ${_LoopStatuses.currentMinAnker()}`,

`今回アンカー無し投稿取得行: ${_TextCsvCursors.currentRows().noAnker}`,

`今回アンカー有り投稿取得行: ${_TextCsvCursors.currentRows().reply}`,

]);

}

//短時間で連投しまくると規制されるので一定時間待機。

wait(SETTINGS.baseWaitTime + randomRange(0, SETTINGS.waitTimeRange));

}

}

/**

* 投稿処理と投稿結果を見てリトライしたりマクロ終了したり。

* @param {string} serverName サーバー

* @param {MyPosterName} _MyPosterName

* @param {string} postMail メール

* @param {MyText} _MyText

* @param {number} retryTimes

* @returns {void}}

*/

function postThenCheckError(

serverName,

_MyPosterName,

postMail,

_MyText,

retryTimes = 0,

) {

const r =

retryTimes === 0

? new ValuesOfPost(serverName, _MyPosterName, postMail, _MyText).post(

postTo5chTread,

postConfirm,

)

: new ValuesOfPost(

serverName,

_MyPosterName,

postMail,

_MyText,

).postSubstring(retryTimes, postTo5chTread, postConfirm);

if (r) {

back();

return;

}

//エラーページに飛ばされた。エラー情報取得。

wait(7);

const error = createPostErrorMessage().analyze();

messageDisplay(error.message);

if (error.order === 'KILL') {

kill();

} else if (error.order === 'SKIP') {

return;

} else if (error.order === 'TRUNCATE') {

back();

return postThenCheckError(

serverName,

_MyPosterName,

postMail,

_MyText,

retryTimes + 1,

);

} else if (error.order === 'WAIT') {

wait(SETTINGS.waitTimeForAvoidingPunishment);

return postThenCheckError(

serverName,

_MyPosterName,

postMail,

_MyText,

retryTimes,

);

} else if (error.order === 'LOGIN') {

//動作未確認

return postThenCheckError(

serverName,

_MyPosterName,

postMail,

_MyText,

retryTimes,

);

}

return;

}

/**

* 現在IPアドレスに、SETTINGS.ipSettings.avoidTheIpの値が含まれていないことを確認する。含まれていたらマクロを一時停止。

* @returns

*/

function checkCurrentIpNotTheIp() {

//IP確認ページへ飛ぶ

openUrl('https://www.cman.jp/network/support/go_access.cgi');

const _IpAdress = createIpAdressFromCMan();

if (_IpAdress.includes(SETTINGS.ipSettings.avoidTheIp)) {

pause('現在IP指定した値が含まれていることを確認。');

//ポーズ解除したならもう一度確認しに。

checkCurrentIpNotTheIp();

}

return;

}

/**

* 設定に致命的な問題が無いか検査

* @returns

*/

function checkSettings() {

if (

SETTINGS.postSettings.noAnkerPost === false &&

SETTINGS.postSettings.replyPost === false

) {

return kill('設定エラー。noAnkerPostとreplyPost両方ともfalseになってる。');

}

if (

SETTINGS.postSettings.noAnkerPostTextCsvStartRow < 0 &&

SETTINGS.postSettings.replyPostTextCsvStartRow < 0

) {

return kill(

'設定エラー。noAnkerPostTextCsvStartRowとreplyPostTextCsvStartRow両方とも-1になってる。',

);

}

if (

SETTINGS.postSettings.noAnkerPostTextCsvStartRow === 0 ||

SETTINGS.postSettings.replyPostTextCsvStartRow === 0

) {

return kill(

'設定エラー。noAnkerPostTextCsvStartRow/replyPostTextCsvStartRowの初期値は-1或いは1以上で。',

);

}

}

/**

* 入力フォームを表示して入力されたスレURLを受け取る。

* @returns {ThreadUrl}

*/

function openPromptThreadUrl() {

const url = prompt('スレURL入力');

return new ThreadUrl(url);

}

/**

* 開いてるスレレス全て読み取ってPostListインスタンスを作って返す。

* 重すぎるので使うのやめ。どうやらインスタンスの大量生成が原因な模様。

* createPostDOMListを使う。

* @returns {PostList}

*/

function createPostList() {

const posts = window.document.getElementsByClassName('post');

return new PostList(Array.from(posts).map((e) => new Post(e)));

}

/**

* 開いてるスレレス全て取得してPostDOMListに格納して返す。

* @returns

*/

function createPostDOMList() {

const posts = window.document.getElementsByClassName('post');

var arrPostDOMList = [];

for (let index = 0; index < posts.length; index++) {

//HTMLCollectionからElementを1つずつ抽出して配列に。

arrPostDOMList.push(posts.item(index));

}

return new PostDOMList(arrPostDOMList);

}

/**

* 開いてる投稿結果画面に表示されてるエラーを読み取ってPostErrorMessageインスタンスを作って返す。

* @returns {PostErrorMessage}

*/

function createPostErrorMessage() {

return new PostErrorMessage(

window.document

.g Permalink | 記事への反応(0) | 15:40

ログイン ユーザー登録
ようこそ ゲスト さん