レス数が1スレッドの最大レス数(1000件)を超えています。残念ながら投稿することができません。
スクリプト#3 @避難所
スクリプトに関する話題なら何でも
V2C使用法[スクリプト]
ttp://v2c.s50.xrea.com/manual/script.html
V2Cwikiにもスクリプト関連の情報があります
ttp://v2c.kaz-ic.net/wiki/?%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%97%E3%83%88
■前スレ
スクリプト#2 @避難所
https://jbbs.shitaraba.net/bbs/read.cgi/computer/43680/1433054157/
>>38
これは投稿時間でソートしてないので
タイムスタンプを終了判定に使えない
DATファイルに存在してるかで判断するしかないので処理に時間がかかるが
これで規制を回避して更新チェックができるようになった
[0][node][taken_at_timestamp]
[1][node][taken_at_timestamp]
このjson配列をtaken_at_timestampでソートする場合
下の関数に添字とか入れても動きそうにないから
[node]の下の子ノードで配列作り直してソートするしかないのかな
//. 比較関数
function compare( a, b ){
var r = 0;
if( a.age < b.age ){ r = -1; }
else if( a.age > b.age ){ r = 1; }
return r;
}
myArray.sort( compare );
これを使えばいいのか
mapがなんなのかもわからん
Sorting maps
一時的な配列に実際にソートに使用する値を抜き出して、その一時的な配列をソートし、 一時的な配列から元の配列を正しい順序で取得します。
// ソート対象の配列
var list = ["Delta", "alpha", "CHARLIE", "bravo"];
// 一時的な変数mapへ位置とソート順の値を保持します
var map = list.map(function(e, i){
return {index: i, value: e.toLowerCase()}
})
// 減算値を使用してmapをソートします
map.sort(function(a, b) {
return a.value > b.value ? 1 : -1;
});
// 結果の順序を反映して取得します
var result = map.map(function(e){
return list[e.index]
})
[node]の下に[taken_at_timestamp]が一つしかない、かつ他のnodeのtaken_at_timestampと内容が重複しないなら
var 連想配列 = {}
連想配列[[0][node][taken_at_timestamp]] = [0]
連想配列[[1][node][taken_at_timestamp]] = [1]
でtaken_at_timestampをキーにした連想配列にして
それをソートすりゃいいんじゃね?
https://www.sejuku.net/blog/27965
java rhinoのjavascriptにはDOMがないから検索の面倒な処理をしてたのか
javaならDOM操作が出来るからjavaを使えばいいのか
java8にrhino-1.7.11.jarを入れてみたが
エラーになったり変な動作したりして使えなかった
そもそもあれは7に入れるようのものだから競合して当然だよ
ソートされたnodeが欲しいなら>>46 でいいじゃない何を無駄に難しくしてるんだ
V2C-R 2.11.8とその派生はRhinoと相性が悪い
上手くいきそうだけどHTMLが完璧じゃないとエラーになる
var factory = javax.xml.parsers.DocumentBuilderFactory.newInstance();
var documentBuilder = factory.newDocumentBuilder();
var document = documentBuilder.parse(Url);←67行目
var root = document.getDocumentElement();
//ルート要素のノード名を取得する
v2c.alert("ノード名:" +root.getNodeName());
67行目org.xml.sax.SAXParseException: The element type "img" must be terminated by the matching end-tag "</img>".
javaソースだとこれが指定されてるけどなんか関係あるのかな
public void domRead(String file) throws SAXException, IOException, ParserConfigurationException
https://jsoup.org/download
これでhtml読めそうだからやってみるか
>>55
これ使ったら成功したみたいだが
ドキュメントがわかりにくいのとサンプルプログラムがないから
子ノードを配列にしてfor文で回すのがわからん
javaのlib/extフォルダにjarを入れとけば設定なしで使えたので助かった
var document = org.jsoup.Jsoup.connect("http://www.babymetal.com/jp/").get();
v2c.alert(document.title());
var document = org.jsoup.Jsoup.connect("http://www.babymetal.com/jp/").get();
var elements = document.getElementById("news_list");
var newurl = elements.getElementsByTag("li");
v2c.alert(newurl.html());
<a href="http://www.toysfactory.co.jp/artist/babymetal/metalgalaxy20191011 " target="_blank">
urlを抜き出したいが上手くいかない
もう少しでどうにかなりそう
javaだとこのfor文使えるが
for (Element element : allElements)
javascriptのfor( of )はオブジェクトに使えないから次が読めない
困った
javaのfor文を使える裏技ないのかな
>>58
html化にして\nで区切って配列にして
for文で一行ずつ再オブジェクト化したら
URLを抜き出せた
var array = newurl.html().split('\n')
for(var i = 0; i < array.length; i++) {
var doc = org.jsoup.Jsoup.parse(array[i]);
var doc2 = doc.getElementsByTag("a");
var attr2 = doc2.attr("href");
}
間抜けだけどしょうがない
matchで抜き出すよりはこっちの方がスマートだな
newurlはliが複数あるから配列で帰ってくると思ったんで
for(var i=0; i<newurl.length; i++){
var elm = newurl[i];
var a = elm.getElementByTag('A');
}
とかで抜いてキャいいんじゃね?
#2年くらい作ってないんで全部記憶
>>60
newurl.lengthはundefinedでダメだった
そっかJavaScriptじゃなくてjsoupだもんね
lengthじゃなくてsize()だとどう?
https://jsoup.org/apidocs/org/jsoup/nodes/Element.html
を見るとgetElementsByXXXXXXが返す結果の型はElementsクラス
で
https://jsoup.org/apidocs/org/jsoup/select/Elements.html
を見るとElementsクラスのの上位クラスはArrayListクラスなんで
http://mdiz1103.xsrv.jp/wordpress/w_1_programming/?p=12
https://i.imgur.com/wOv29iW.png
のArrayListの方ぽい
>>64
ありがとう
これで出来た
var document = org.jsoup.Jsoup.connect("http://www.babymetal.com/jp/").get();
var element = document.getElementById("news_list");
var elements = element.getElementsByTag("a");
for(var i = 0; i < elements.size(); i++){
var attr = elements.get(i).attr("href");
v2c.alert(attr);
}
URLは.absUrl("href")を使えば../xxx系を
http://www.babymetal.com/jp/news/?id=110
に変換してくれるみたい
var document = org.jsoup.Jsoup.connect("http://www.babymetal.com/jp/").get();
var element = document.getElementById("news_list");
var elements = element.getElementsByTag("a");
for(var i = 0; i < elements.size(); i++){
var attr = elements.get(i).absUrl("href");
v2c.alert(attr);
}
jsoupの欠点
org.jsoup.Jsoup.connecを使うとこれがあると処理が止まる
<meta http-equiv="Refresh" content="0;URL=https://l-tike.com/concert/mevent/?mid=389230">
htmlをv2cで取得してorg.jsoup.Jsoup.parse(html);した方が安全だった
jsoupを使うとこういうことが出来るらしい
常識なんだろうけど便利でビックリした
変数Elementsを変更するとセレクト元の変数Docの内容が変更されてた
最後にテキスト化すればHTMLtoTEXTが簡単に出来そう
var Doc = ArticleDoc.select(".news_txt").last();
//画像テキスト化
var Elements = Doc.select('img[src]');
for(var i = 0; i < Elements.size(); i++){
var AbsUrl = Elements.get(i).absUrl('src');
Elements.get(i).text(AbsUrl);
}
jsoupのHTMLtoTEXTスクリプト出来たが
一部文字化けするから使いものにならなかった
変換しない文字
–
〜
◼︎
>>69
多分これっしょ
https://qiita.com/motoki1990/items/fd7473f4d1e28c6a3ed6
チルダは本当によくある
あと文字コードは基本的なようでいて実は慣れてても時々躓く面倒な問題
いつ化けたかやね
jsoupに取り込んでDOMにした時点か
HTMLtoTEXTした時点か
outputに出力/表示した時点か
jsoupオブジェクトをhtml()で出力すると化けないが
text()で出力すると化けるみたい
試しに
https://www.dropbox.com/s/den49d6u6389da5/getdat.js_20190508232210_.zip?dl=1
の2308行目をコピペしてtext()した結果を置換してみて
jsはUTF-8
https://i.imgur.com/w1Drgs0.png
これで文字化けをコントロール出来れば文字化けを回避できるはず
したらばの過去ログをgetdatjsでスレを表示する場合に文字化けを回避するために使用してる置換です
jsの文字コードはUTF-8だよね?
HTMLがUTF-8でDATがShift_JISだから漢字はこれでも化けるのか
text()は&#xxx;文字を削除してるみたいなので
&#を全角にして最後に&#に戻したら漢字は上手くいったが
–が化ける
Javaはよく知らんがcharsetの変換とかないの
ないならtextをバイト列経由でshiftjisにするとか
HTMLは↓これで記述してるのに
&Eacute;
&eacute;
jsoupの中ではÉとéの文字に変換されてた
エスケープをそのままにさせる設定があればどうにかなるのに
v2c.writeLinesToFile(Thread.localFile, DatData, 'Shift_JIS');
これやると消えるみたいだから
変換不能文字→参照(G)を読み出して変えてやればいいのかも
Shift_JISにする前にこのコードにしたら文字化けがなくなった
& #65288;& #29694;& #22320;& #26178;& #38291;& #65289;
(現地時間)
なんか自分も通った記憶のある道でワロタ
全ての文字を数値文字参照(文字参照)に変換すると
文字化けは補償されるんだけどログが全部&#xxxxxになって何が何だか分からなくなる
というオチ
昔janeとの互換性のためにShift_JISに変更したんだよな
【test】書き込みテスト_02
https://egg.5ch.net/test/read.cgi/software/1560389875/848
https://i.imgur.com/cOof1Xk.png
↑のWEBページソース
https://i.imgur.com/cc0VzGE.png
dat(SJIS)の中身
https://i.imgur.com/FOrYDjg.png
5ちゃんはSJIS、ベビメタのサイトはUTF-8だけど
Javaに取り込めばメモリ上は両方ともUTF-16?になるからWEBページの文字コードの違いは吸収される
で出力対象がなんなのかわからんけど例えば出力対象がSJISのdatでも可読文字を数値文字参照(文字参照)で保存しとけば
Javaのレンダラはdat中の数値文字参照(文字参照)を可読可能な文字に置き変えて表示してくれる
なんで文字化けする文字だけ数値文字参照(文字参照)に置き変えればいいのではと
あとサロゲートペアの考慮もいるのかな?
その辺やってるのが昨日上げたgetdat.jsのしたらば対応の処理
UNICODE周りのコード変換なら
https://www.marbacka.net/msearch/tool.php
が便利
v2cが使ってるエスケープ配列見つかったから
エスケープ系と>>74 だけ数値化すればいいのか
◼こういう文字はどうやって判断するんだ
文字をShift_JISにエンコードしてUTF-8でデコードして
文字と違っていたら数値文字参照にすればいいのかな
上位bitがなんちゃらとかさぱりわからん
String str = "あ";
byte[] bytes = str.getBytes("SJIS");
String newStr = new String(bytes, "SJIS")
strとnewStrが違ったら数値文字参照にするで上手くいかないのかな
どういうアウトプットにしたいのか分からんから何も言えん
普通の絵文字だからフォントさえ入ってれば参照形式でも表示されると思うんだが
これで上手くいった
俺天才かも
//【数値文字参照変換】
function EncodeChar(Text) {
var EncodeText = '';
var TextArray = Text.split('');
var BiteArray = [];
var JString = '';
var NewString = '';
for(var i = 0; i < TextArray.length; i++) {
JString = new java.lang.String(TextArray[i]);
BiteArray = JString.getBytes('SJIS');
NewString = new java.lang.String(BiteArray, "SJIS");
if(JString == NewString) {
EncodeText += TextArray[i];
} else {
EncodeText += '&#' + Text.charCodeAt(i) + ';';
}
}
return EncodeText;
}
BiteArray スペルが違ってたbyteだった
jsoupの使い方
最初にどちらかでオブジェクト化して
Doc = org.jsoup.Jsoup.parse(Html);
Doc = org.jsoup.Jsoup.connect(NewsUrl).get();
これでテキスト化出来る
//【テキスト変換】
function HtmlToText(NewsDocument) {
var Message = ''; //メッセージ欄
var Doc = '';
var Elements = '';
var AbsUr = '';
var Text = '';
Doc = NewsDocument.select(".news_txt").last(); //class選択
//画像URLテキスト化
Elements = Doc.select('img[src]');
for(var i = 0; i < Elements.size(); i++){
AbsUrl = Elements.get(i).attr("src") + '';
if(AbsUrl.match('../..')) {
AbsUrl = AbsUrl.replace('../..', 'http://www.babymetal.com ');
Elements.get(i).text(AbsUrl + '.jpg');
} else {
Elements.get(i).text(AbsUrl);
}
}
//YoutubeURLテキスト化
Elements = Doc.select('iframe[src]');
for(var i = 0; i < Elements.size(); i++){
AbsUrl = Elements.get(i).absUrl('src') + '';
if(AbsUrl.match(/http:\/\/www\.youtube\.com\/embed\/(.+?)\?/i)) {
Elements.get(i).text('https://www.youtube.com/watch?v=' + RegExp.$1);
}
}
//リンクURLテキスト化
//Elements = Doc.select('a[href]');
//for(var i = 0; i < Elements.size(); i++){
// Text = Elements.get(i).text() + '';
// if(Text.match(/https?:\/\//i) == null) {
// AbsUrl = Elements.get(i).absUrl('href');
// Elements.get(i).text(Text + ' ' + AbsUrl);
// }
//}
//<p>改行
Doc.select('p').prepend("%br2n%%br2n%"); //ダミー改行変換
//<br>置換
Doc.select('br').append("%br2n%"); //ダミー改行変換
Message = Doc.text() + ''; //テキスト化
Message = EncodeChar(Message); //【数値文字参照変換】
Message = Message.replace(/%br2n%/g,'<br>') + ''; //ダミー改行置換
return Message;
}
PopupTools_20190917.zip
https://www.dropbox.com/s/0sdhxtjc8t5crc1/PopupTools_20190917.zip?dl=1
popupTwitterInfo.js
PopupStatusYoutubeV3.js
PopupStatusInstagram.js
PopupStatusDailymotion.js
の詰め合わせです
Java7,8,9用とJava6用にわけてあります
Java6では同梱のjson2.jsも必要となります
修正箇所
・Instagramのポップアップで画像のサムネが表示されなくなったのを修正
V2C+ ver1.1.3[R20171103]に対応している必死チェッカーもどきもどきのスクリプトってありますか?
https://amekujira.seesaa.net/article/269587207.html
のhissi_ken.jsを入れてみたんですけど、無反応でした。
V2Cwikiのhissi.jsは正常に動いてます。
>>93
スクリプトなんて不要
IDを右クリックしてみろ
//書き込み欄のマルチポスト規制中URLをjump.5ch経由に変換
// ${SCRIPT:} URLJump.js
var vcx = v2c.context;
var th = vcx.thread;
var wp = th.openWritePanel();
var text = wp.message.text + '';
wp.message.text = text.replace(/https?:\/\/(?!jump.5ch.net)/g, 'https://jump.5ch.net/?');
>>93
動いたよ
var rb = new java.awt.Robot();
キー入力を偽装しようとしてこれをスクリプトで使うと
java.security.AccessControlException: access denied ("java.awt.AWTPermission" "createRobot")
のエラーになる
java.security.AccessControlException when using java.awt.Robot class for screen capture in applet - Stack Overflow
https://stackoverflow.com/questions/15381538/java-security-accesscontrolexception-when-using-java-awt-robot-class-for-screen
これだとjava.home\lib\security\java.policy (Windows)にこれを追加すればいいと書いてあるが
追加してもエラーになるなんでだ
permission java.awt.AWTPermission "createRobot";
>>97
class V2CScriptUtilで指定しないと無理なのか
>>98
今そのクラスはB11のほうにいるからテスト的にいれてみようか?
>>99
permission java.awt.AWTPermission "createRobot";
permission java.awt.AWTPermission "accessClipboard";
permission java.awt.AWTPermission "accessEventQueue";
permission java.awt.AWTPermission "showWindowWithoutWarningBanner";
permission java.awt.AWTPermission "readDisplayPixels", "read";
permission java.io.FilePermission "<<ALL FILES>>", "read, write, delete, execute";
入れるんならこれ全部入れといて下さい
>>95
java8にしたら動かなくなったから変更
//書き込み欄の.jpg:origを?format=jpgに変換
// ${SCRIPT:} ReplaceTwitterjpg.js
var vcx = v2c.context;
var th = vcx.thread;
var wp = th.openWritePanel();
var text = wp.message.text;
wp.message.text = (text+'').replace(/.jpg:orig/g, '?format=jpg');
//書き込み欄のマルチポスト規制中URLをjump.5ch経由に変換
// ${SCRIPT:} URLJump.js
var vcx = v2c.context;
var th = vcx.thread;
var wp = th.openWritePanel();
var text = wp.message.text;
wp.message.text = (text+'').replace(/https?:\/\/(?!jump.5ch.net)/g, 'https://jump.5ch.net/?');
>>100
目途ついたんだけど使ってるV2Cって何に?
>>100
書き忘れ申し訳だけどV2C+はダメです
B11のほうにV2CScriptUtilを持ってないんで・・・
インスタのパスコード忘れたらどうすればいいの
>>102
【V2C】 2.11.4.2.19.9 (V2CMOD/2) [R20190921] (L-0.7.0:x86)
【Java】 1.8.0_40-b25 (Oracle Corporation)
>>104
ログインし直す
>>105
日が変わる上げます
>>105
B11.27.2
https://www.dropbox.com/s/jugfo98r0zyyb97/v2c_api_patch_B11.27.2.zip?dl=1
テストソースがないんでノーテスト
パーミッションは
createRobot → Tr
readDisplayPixels → Td
readDisplayPixelsはちょっと自信なし
既存仕様では、T配下の小文字パーミッションは小文字を省略してTとした場合に全て有効になるんだけど
rとdは悪意を持たれると画面情報を盗まれるレベルなのでTとしか書かなかった場合はrとdは有効になりません
Aの場合も同じ
なのでパーミッションAは聞かないのでパーミッションは個別に網羅して下さい
>>102 に関しては
accessClipboard → Tc
accessEventQueue → デフォルトで有効
setWindowAlwaysOnTop → Tt
showWindowWithoutWarningBanner → Tw
<<ALL FILES>>, "read, write, delete, execute" → F
で元々実装済み(のはず)
もしかしたら
replaceKeyboardFocusManager
も必要になるかも
(要不要が分からないので今は入れてない)
>>106
あざす
>>94
あああぁぁぁ
ありがとうございます・・・
>>96
一から全部設定入力し直したらこちらも動きました
hissi.jsのようにポップアップだけで詳細まではわからないのですね
>>107
ありがとう
これでスレが更新してくれるようになった
//【スレッド更新後表示(アドオンから呼ばれる)】
function DisplayThread(ThreadObj, ResIndex) {
var Rb = new java.awt.Robot(); //キー押し偽装
ThreadObj.viewResIndex = ResIndex; //表示させるレス番
ThreadObj.newMarkResIndex = ResIndex; //新着境界直後のレス番
do {
v2c.openURL(ThreadObj.url); //スレッド表示
} while(ThreadObj.columnIndex == -1); //スレッド非表示は-1
Rb.keyPress(java.awt.event.KeyEvent.VK_R); //スレ更新Rキー押す
Rb.keyRelease(java.awt.event.KeyEvent.VK_R); //スレ更新Rキー離す
v2c.openURL(ThreadObj.board.url); //板スレ一覧表示
}
>>93
これ入ってたけど今やったら動かなかった
一応試してみて
40 :名無しさん@避難所 :2017/08/15(火) 16:13:43
>>2
https://www.axfc.net/u/3834830?key=v2c
hissiWatchoiSearch.js
こんなんでどうでしょう?
リンクに関連づけるとZでしか使えなくなるので
選択テキストのスクリプトです
問題ないようならスクリプトスレにも晒します
>>112
>https://www.axfc.net/u/3834830?key=v2c
hissiWatchoiSearch.js
93とは別人だがこれ試しに使ったら通信エラーで駄目だった
http://hissi.link/5ch/php_files/hissi/ に
10/04 5ch.net対応に修正しました。下記を従来のものと入れ替えて使用してください。
必死チェッカー(コテ) http://hissi.link/5ch/php_files/hissi
/read.php/{$bbs}/{$date[yyyyMMdd]}
/{$id[base64_]}.html{$host[match:5ch.net|2ch.net|bbspink.com$]}
と書いてあるし修正が必要みたい
最後1レススクロールしたらそれっぽくなった
//【スレッド更新後表示(アドオンから呼ばれる)】
function DisplayThread(ThreadObj, ResIndex) {
var Rb = new java.awt.Robot(); //キー押し偽装
Rb.setAutoDelay(100);
ThreadObj.viewResIndex = ResIndex; //表示させるレス番
ThreadObj.newMarkResIndex = ResIndex; //新着境界直後のレス番
do {
v2c.openURL(ThreadObj.url); //スレッド表示
} while(ThreadObj.columnIndex == -1); //スレッド非表示は-1
Rb.keyPress(java.awt.event.KeyEvent.VK_R); //スレ更新Rキー
Rb.delay(1000);
Rb.keyRelease(java.awt.event.KeyEvent.VK_R); //キー離す
Rb.keyPress(java.awt.event.KeyEvent.VK_SPACE); //1レススクロールSPACEキー
Rb.keyRelease(java.awt.event.KeyEvent.VK_SPACE); //キー離す
v2c.openURL(ThreadObj.board.url); //板スレ一覧表示
}
java7だと問題ないがjava8に下のjar入れてrhinoで動かすと
error instantiating (access denied ("java.lang.RuntimePermission" "accessDeclaredMembers")): class java.lang.Runnable is interface or abstract (<Unknown source>#175)
こんなエラーなる
${SCRIPT:A}にしたら
jre\lib\security\java.policyみたいなのをV2Cに用意して
登録できるみたいなのがあると便利かも
rhino-1.7.11.jar
js-engine.jar
accessDeclaredMembers → Rm
getClassLoader → Rc
でおなしゃす
>>116
ありがとう
なんでバージョンが違うとパーミッションが変わったりするんだ
>>117
Java7(Rhino)からJava8(Nashorn)に変わった際にまあいろいろ変わったと
Java8でのjsからswingの画面部品の呼び出しでaccessDeclaredMembersとgetClassLoaderのパーミッションエラーになったんでその時に追加
text.replaceを(''text).replaceと書かなきゃならないのと根っこは同じ
Java8のスクリプトは速い
java7だと25秒くらいだった処理が8秒で終わった
java.awt.Robot(); はダメだったエディタ使ってるときの更新すると
エディタにrを書き込んでしまう
V2Cにだけrを送信するのは無理なんだろうか
windowsAPIを読んだりすると大変なので
ロボットのマウス移動を使ってV2Cのタイトルバーでクリックするようにしたら
アクティブアプリに変わってrがV2Cに届いた
設定ー[キーバウンド]ー[レス表示]の「ここからテキスト選択」して
[選択テキスト(レス表示)]の「画像をダウンロード」を実行すると
https://www.instagram.com/p/B2oe4f9HYFq/
↑これはダウンロードして表示するが
https://scontent-nrt1-1.cdninstagram.com/vp/b8ac6af7d09eefd564af76f865488c58/5E3AA72D/t51.2885-15/e35/70284990_724097124772814_2239838731437793937_n.jpg?_nc_ht=scontent-nrt1-1.cdninstagram.com&_nc_cat=1
こっちはダウンロードしない何でだ
どっちも画像として開くのに
>>122
ここですべてを選択して画像をダウンロードするでもダウンロードしないな
どうやればダウンロードするようになるんだ
>>123
DLしないリンクの色は何色?
通常の画像リンクと色がことなるならV2Cからは画像のリックと思われてない
>>124
同じ色だから画像として認識はしているみたいだけど
https://i.imgur.com/GZ49esC.jpg
>>125
あと思い当たるのはImageViewURLReplace.datにそのurl用の定義がないくらいかな?
>>112 を全選択して選択範囲のリンクを「履歴を削除」→「画像のダウンロード」をしても
サムネを表示するんでこちらではそれ以上のことはわかりません
俺だけなのか
ImageViewURLReplace.datの定義はこれだけどダメなのかな
https://scontent-nrt1-1.cdninstagram.com/vp/(.*jpg.*) 【Tab】$&
必死盛り合わせ
https://www.dropbox.com/s/3darm5ur5hjkm22/hissi_moriawase.zip?dl=1
俺環:Java13+Rhinoスクリプトエンジン+Z
.Java13+Rhinoスクリプトエンジンなんでスクリプト実行環境はJava7相当
Java8でRhinoスクリプトエンジン無しだとJava7とスクリプト記述時のお約束が違うので
エラーが出るかも(その場合は、V2Cが何かは無関係)
hissi.js
レス表示
hissi.orgから
一番ポピュラーなやつ
hissi_ken.js
レス表示
hissi.linkとame.hacca.jpへのリンクを表示
hissiSearch.js
選択テキスト
IDを選択して右クリ
hissi.orgから
WEBページを強引にポップアップに表示(WEBブラウザで表示が望ましい)
hissiWatchoiSearch.js
選択テキスト
ワッチョイ xxxx-xxxx を選択して右クリ
hissi.linkから
WEBページを強引にポップアップに表示(WEBブラウザで表示が望ましい)
https?(://(?:[^/.]+\.)+(?:fbcdn\.net|akamaihd\.net|cdninstagram\.com).+/(?:\d+_){3}[on]\.(?:jpe?g|png|gif|bmp)\?.+)$【TAB】https$1【TAB】【TAB】$VIEWER
>>129
これにしたらダウンロード出来た
>>126 さんありがとう
そもそもの疑問としてJava7相当のRhinoなしでV2C本体を動かす事は出来るん
・本体が動かない
・本体は動くがscriptが動かない
・本体もscriptも動くがscriptのフォーマットが多少違う
これのうちどれなん
Rhino(アメリカのサイ)はスクリプトを動かす環境のこと
Java8以降はRhinoが廃止されてNashorn(ドイツのサイ)ってのに変わった
このNashornも何れ廃止と明言されてる
でスクリプトを動かす環境は
・readcgi.jsの実行
・便利スクリプトの実行
に影響があるだけで
V2C本体にはRhinoがあろうがなかろうが関係なし
readcgi.jsはRhinoでもNashornでも動くように出来てるっぽく問題はなし
ただ便利スクリプトはJava6、Java7全盛期(Rhino期)に作られてるものが多く
またRhinoもNashornも同じサイだけど国が違うんで言葉(文法)が通じない部分が若干ある
なんでスクリプトはやりたいこと次第で動いたり動かなかったり
これが昔Java8問題って言われてたやつ
よくあるのが、Rhinoでは text とだけ書けばいいものが Rhino無し(Nashorn環境)だと
(''+text) と書かないとエラーになるとか
あと余談だけどあまりにもオサレな書き方をすると
Java7で動くスクリプトがJava6で動かなかったりもする
なんで答え的には
・本体は動く
・scriptはjsの書き方や、やりたいことしだい動いたり動かなかったり
作者さんが生きてたらスクリプトでいろんなことが出来る面白いソフトになったのに残念だな
派生が多すぎてわけわからなくなったあたりから未来ないとは思っていた
>>132
なるほど、sytem scriptは自分で書いてるからよしたぶん何とかなる
問題はhissiとV2C派生のおまけで付いてくるamazon.jsとかこの辺か
V2Cの機能を真似て1から作るネ申がいればあるいはわからん
>>33
再公開お願いします
Rhinoを切ったら「Rhino ScriptEngineを取得できませんでした」とか言われて文法以前の問題だった
まあ技術的興味の問題で何か困ってる訳じゃないから別にいいけど
>>137
これかな?
analysis_slip.zip
https://www.dropbox.com/s/a5vwr2lahuzybrh/analysis_slip.zip?dl=1
GraalVMはSpring Bootとか使うとネーティブコンパイルできないのか
GraalVMスクリプトランチャーみたいなソフトないのかな
板-スレ-レスのclassだけ用意して後は5chプラグインみたいな感じで
ユーザーが自由に追加したり出来るみたいな
v2c.・・・風はjavaのObjectを直接受け取れるみたいな感じの方が楽かも
>>139
ありがとうございます。
$EXTBROWSER https://translate.google.co.jp/?hl=ja #auto/ja/$SELTEXTU
これの検索結果を以前のgoogle_translation.jsみたいにポップアップで表示できますか?
http://soku0226.blog.fc2.com/blog-entry-9104.html?sp
インスタのjs
今は新着の有無確認のために
https://www.instagram.com/ ユーザ/
のWEBページurlにアクセスしてるんだけど
なんかのはずみでログインページにリダイレクトされて(そして何かのはずみでリダイレクトしなくなる)jsが異常終了する
なんで
・ログイン状態でWEBページにアクセスできるようにする
・WEBページへのアクセスを10秒間隔にする
・エラーになっても異常終了にならないようにする
と修正を入れてみたものの
・ログインしないでWEBページにアクセスすると、やっぱり何かのはずみでログインページにリダイレクトされる
・ログインしてWEBページにアクセスすると、なんかのはずみで429(アクセスし過ぎ)エラーが連続発生
となってしまう(登録ユーザ数14)
jsを異常終了させないことはできるけど向こうからのリジェクト対応はこれ以上無理
スマートフォン版
掲示板管理者へ連絡
無料レンタル掲示板