ITねっぱーいる?お話聞いて ID:c2FmAeOs

1以下、名無しにかわりましてVIPがお送りします:2021/01/07(木) 16:53:12.36 ID:c2FmAeOs

jsとhtmlの話です
ボタンを押した時の動きがおかしいサイトがあるからuserScriptで調整しようとしてるんだが
onClick後の動きが単純にsubmitとかじゃなくて
onclick = "return function名('ああああ');"
みたいになっててマジきしょい
こんなjsの文章あるの…?何が起きてるの…?
ググって一応こういうコードは出てくるけど動きについて何も語られてないから何が起きてるのか分からなくて困ってる

今後、やりたいこととしては
function名(value){
if(value=='ああああ'){
var nep = true;
}
みたいにしたい

でも、すでに「function名」って関数はあるから
UserScriptのほうに、元の内容も含めた「function名」の関数を作ろうとしてる
(確か関数の上書きってできるんだよね)

2以下、名無しにかわりましてVIPがお送りします:2021/01/07(木) 16:57:48.82 ID:c2FmAeOs

UserScriptの中に
その関数を書いて
if(value=='ああああ'){
var nep = true;
}
はできなかったから、普通に
alert(value)ってしたけど、これもうまく行かず・・・

何が起きてるのかわかんないからボタン押した時のネットワークの動きを確認してみたら
コード302でリダイレクトされてるっぽいんだよね
唯一POSTを確認できたのが、これなんだけど
FORM DATAの中に
onclick = "return function名('ああああ');"の値である
ああああ
を見つけた
これを取得することは可能なの?
(POSTしたデータの特定の値を取得して、追加のプログラムを走らせたい)

4以下、名無しにかわりましてVIPがお送りします:2021/01/07(木) 17:20:20.08 ID:c2FmAeOs

お話聞いてくれて嬉しい、いつもありがとう
マジでクソコードだよ

エラーチェックして
他の関数にまた同じ引数を渡して、関数呼び出しをしていた
あとは最後にreturn falseしてるだけだね(エラーチェックでもreturn falseしてるから、ここで強制停止させたいみたい?)

onclick→引数だけ渡して、他の関数でエラーチェックしている('ああああ'自体は一切ここで触れていない)→別の関数呼び出しって感じ

コードでいうなら
onclick = "return function名('ああああ');"
から飛んで

function名(value){
if(hogeFunc() ==true){
return false;
}
if(unchi.value == ''){
alert('ウンチ');
return false;
}
FuckMe(value);
return false;
}
って感じ

6以下、名無しにかわりましてVIPがお送りします:2021/01/07(木) 17:25:27.72 ID:c2FmAeOs

function FuckMe(value){
document.nep.chinchin.value = value;
document.nep.submit();
return false;
}
って感じかな

まあ、submitの方は特に関係なく、初めに"ああああ"が取得される部分で
ああああ が入っていたらtrue、それ以外はfalseって情報を保存したいだけなんだけどね
>>1のifのやつです

7以下、名無しにかわりましてVIPがお送りします:2021/01/07(木) 17:27:26.10 ID:c2FmAeOs

>>5
どうなんだろう
自分が下手なのか、userscriptじゃできないのか
今のところうまくいってない・・・
このjsはbodyタグ内部に書かれてるわけじゃなくて、headタグでもなく独立してscriptタグで書かれてた
そこについて、userscriptで書き換えができるのかどうかが微妙で・・・

8以下、名無しにかわりましてVIPがお送りします:2021/01/07(木) 17:29:55.07 ID:c2FmAeOs

スクリプトの書き方だけど

// ==UserScript==
// @name google
// @namespace test
// @version 1
// @include https://www.google.co.jp/
// @grant none
// ==/UserScript==
window.onload = function(){
console.log("UserScript test");
alert("UserScriptが有効です。")
}
みたいな感じで、追加するものだと認識してるから


function名(value){
if(hogeFunc() ==true){
return false;
}
if(unchi.value == ''){
alert('ウンチ');
return false;
}
FuckMe(value);
return false;
}



function名(value){

if(value=='ああああ'){
var nep = true;
}

if(hogeFunc() ==true){
return false;
}
if(unchi.value == ''){
alert('ウンチ');
return false;
}
FuckMe(value);
return false;
}

これでいけると思ったんだけど、動かなかった(よく分からないからalert(value)にした)

11以下、名無しにかわりましてVIPがお送りします:2021/01/07(木) 17:45:17.10 ID:c2FmAeOs

動いてないと思う
Window.onloadに書いてる関数だけしか動かないんだよね

14以下、名無しにかわりましてVIPがお送りします:2021/01/07(木) 18:10:36.73 ID:c2FmAeOs

半分自決してきた
とにかく今はuserscriptによって関数の上書きができればいいって感じだね

要件は以下の2つだから
・読み込み時点で関数が上書きされること
・cookieにtrueかfalseの情報が保存されること

サイトは晒せない。。ご不便おかけします

16以下、名無しにかわりましてVIPがお送りします:2021/01/07(木) 19:23:08.79 ID:c2FmAeOs

https://efcl.info/2009/1122/res1483/
http://programamemo2.blogspot.com/2007/07/javascript-greasemonkey.html?m=0

それっぽい情報あったから参考にしようとしてたけど全て古かった。。

unsafeWindowっていうのがあるのか
参考になります


このIDをNGリストに追加する

今後このIDの書き込みやスレッドを表示したくない場合、以下のボタンをクリックしてください。
NGリストに追加

このスレッドは過去ログです。