userscript
にform
という2つの入力要素を追加しました。最初の要素はtextarea
で、2番目の要素はbutton
です。彼らは、ローカル/静的なページで完全に正常に動作しますが、私はfunction uuid()
を呼び出す必要がありますbutton
をクリックしようとすると、何も起こりません。ボタンをクリックしたときに追加ボタンが呼び出されない
編集:私は言及を忘れてしまった何かが、このuserscriptはので、多分ロードタイミングに問題がある要素を編集/追加し、別のuserscriptと一緒に動作するはずということです。
作業スクリプトを編集var qrform, rbutton, milliseconds, randomnumber, css;
css = document.createElement("style");
css.type = "text/css";
/*jshint multistr: true */
css.innerHTML = "#rb{\
display: -webkit-flex;\
display: flex;\
-webkit-align-items: stretch;\
align-items: stretch;\
height: 25px;\
margin-top: 1px;\
text-transform: uppercase;\
font-size: 10px;\
}\
#rb #uform + input {\
text-transform: uppercase;\
font-size: 10px !important;\
}\
#uform{\
width:95%;\
text-align:center;\
}\
";
document.body.appendChild(css);
qrform = document.getElementById("qr").getElementsByTagName("form")[0];
rbutton = document.createElement('div');
rbutton.setAttribute("id", "rb");
qrform.appendChild(rbutton);
rbutton.innerHTML = "<input id=\"uform\" type=\"text\" name=\"UUID\" placeholder=\"UUID\" readonly><input type=\"button\" value=\"GENERATE\" onclick=\"uuid()\">";
function uuid() {
milliseconds = Date.now();
randomnumber = Math.floor(Math.random() * 365 * 86400000);
document.getElementById("uform").value = milliseconds - randomnumber;
document.getElementById("uform").readOnly=true;
}
:私は、これはスクリプトである
..私は、ページがロードさが、私はまだ問題を抱えているために完了したときにロードするuserscript私のカスタムを作る問題を解決したと思いました:
var qrform, rcontainer, rbutton, parentrbutton, milliseconds, randomnumber, css;
css = document.createElement("style");
css.type = "text/css";
/*jshint multistr: true */
css.innerHTML = "#rb{\
display: -webkit-flex;\
display: flex;\
-webkit-align-items: stretch;\
align-items: stretch;\
height: 25px;\
margin-top: 1px;\
text-transform: uppercase;\
font-size: 10px;\
}\
#rb #uform + input {\
text-transform: uppercase;\
font-size: 10px !important;\
}\
#uform{\
width:95%;\
text-align:center;\
}\
";
document.body.appendChild(css);
qrform = document.getElementById("qr").getElementsByTagName("form")[0];
rcontainer = document.createElement('div');
rcontainer.setAttribute("id", "rb");
qrform.appendChild(rcontainer);
rcontainer.innerHTML = "<input id=\"uform\" type=\"text\" name=\"UUID\" placeholder=\"UUID\" readonly>";
rbutton = document.createElement('input');
rcontainer.appendChild(rbutton);
rbutton.setAttribute("type", "button");
rbutton.setAttribute("value", "generate");
rbutton.addEventListener('click', uuid);
function uuid() {
milliseconds = Date.now();
randomnumber = Math.floor(Math.random() * 365 * 86400000);
document.getElementById("uform").value = milliseconds - randomnumber;
document.getElementById("uform").readOnly=true;
}
私はインラインイベントを削除し、自分のユーザースクリプト内のすべてを行うことをお勧めします。あなたが見ることができるように機能が正しくクリックで呼ばれているが、まだ何も... https://i.imgur.com/Qv7h1AY.png –
ああ起こりません!何とかスクリプト内でインラインからonclickイベントを動かすことで、この問題が解決されました。それは今働いている!たぶん私のuserscriptマネージャ(tampermonkey)は、そのような悪い習慣メソッドを使用してから私を防止したのか? –