[過去ログ] JavaScript の質問用スレッド vol.125 (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
21(1): (ワッチョイ 6b10-vj0F [180.12.82.129]) 2022/08/19(金)18:14 ID:KbHvsoqL0(1/2) AAS
clickのタイミングについて
<input type="button" value="クリック" id="bt">
let aaa=0;
setInterval(
function(){
aaa=100;aaa=200;aaa=300;aaa=400;aaa=500;
},0
省7
22(1): (ワッチョイ cb01-6z5t [60.74.210.62]) 2022/08/19(金)18:41 ID:hN4Icouo0(1) AAS
>>21
タイマー処理の関数呼び出しの途中でイベントハンドラが処理されることはない
23(1): (ワッチョイ 6b10-vj0F [180.12.82.129]) 2022/08/19(金)18:53 ID:KbHvsoqL0(2/2) AAS
>>22
どうもです
タイマー以外のfunctionでもfunctionの途中でイベントハンドラが呼び出されることはないってことですか?
24: (ワッチョイ cb01-6z5t [60.74.223.30]) 2022/08/19(金)21:41 ID:PiTy7UnQ0(1) AAS
JavaScriptは基本シングルスレッド
関数の実行途中に別の関数の処理が割り込んでくるようなことはない
25: (ワッチョイ cb01-7Kul [60.87.221.16]) 2022/08/19(金)23:29 ID:icsyH/kW0(1) AAS
>>23
非同期処理が混在していなければ、ない
26(1): (ワッチョイ 75b1-GYjw [118.105.228.94]) 2022/08/20(土)10:52 ID:y/gx0kbE0(1/2) AAS
Wan、Lanどちらからもアクセス可能なWebサーバーで
アクセス元がどっちなのかを判断する方法はありますか?
27: (ワッチョイ 2301-cac/ [219.204.123.70]) 2022/08/20(土)11:45 ID:ThG9yriU0(1) AAS
>>26
送信元アドレス見ればよくね?
28: (ワッチョイ 75e5-s78Y [118.4.80.52]) 2022/08/20(土)12:02 ID:tDO3e6hW0(1) AAS
サーバーで判断すべきだろう
クライアントで知りたいならサーバーに聞けばいい
29: (ワッチョイ 75b1-GYjw [118.105.228.94]) 2022/08/20(土)12:48 ID:y/gx0kbE0(2/2) AAS
確かにそうですよね
サーバー側で何とかしてみます
30(3): (スップ Sd43-PAk+ [49.97.96.68]) 2022/08/21(日)00:53 ID:aTZvlMved(1) AAS
ナンセンスな質問かもしれませんが、JavaScriptにおいて関数はデータ型としてオブジェクトであり、一方でオブジェクトはプロパティとメソッドの集まりであると説明されています。
関数とオブジェクトはどちらが先に定義されているのでしょうか?
31(1): (ワッチョイ d501-Nnom [60.87.221.16]) 2022/08/21(日)07:04 ID:D11cwWL50(1/2) AAS
>>30
「先に定義」とは、どのような意味?
32(1): (スップ Sd03-PAk+ [1.66.101.132]) 2022/08/21(日)10:31 ID:3ESrn3ezd(1) AAS
>>31
先に存在しているとか先に実装されている(?)というようなイメージです
33(1): (ワッチョイ a37c-QAb4 [221.241.223.58]) 2022/08/21(日)10:42 ID:KqCcLvyW0(1) AAS
>>30
定義が無限循環してると言いたいんだろうけど広辞苑にだってそういうのはあるし、関数ノットイコールメソッドと考えれば矛盾はしてない
たぶんオブジェクトが先だろうけどね
34(1): (スップ Sd43-PAk+ [49.97.98.169]) 2022/08/21(日)11:25 ID:df/SIE01d(1) AAS
>>33
ありがとうございます
もう少し調べてみると、 外部リンク[html]:tc39.es でTerms and Definitionsのところに、関数はオブジェクトであってプロパティの他に実行可能なコードと状態を持つもの、という感じのことが書かれてて、メソッドはオブジェクトのプロパティの値である関数のことと書かれていました
こちらの説明で一旦納得できました
35: (アウアウウー Sad9-dbST [106.181.223.3]) 2022/08/21(日)11:46 ID:j3ukytx2a(1) AAS
v8のソースでも読んでみれば
36: (ブーイモ MM8b-mKyu [133.159.148.135]) 2022/08/21(日)12:32 ID:IBDK1msSM(1) AAS
オブジェクトが先
オブジェクトはプロパティのコレクション
プロパティとはkey/valueのペアのこと
keyはStringでvalueはプリミティブかオブジェクト
37: (ブーイモ MM8b-mKyu [133.159.149.74]) 2022/08/21(日)12:39 ID:ZOLz03eMM(1) AAS
オブジェクトを定義するのにオブジェクトを使ったりStringという別のオブジェクト使えるの?
と疑問に思うのかもしれないけど
定義が存在する(名前解決可能である)ことを確認するフェーズと
定義の中身を検証するフェーズを分けることで可能
foo関数の中でbar関数を呼び出しつつ
bar関数の中でfoo関数を呼び出すような関数定義ができるのと同じこと
38(2): (ワッチョイ d501-dbST [60.87.221.16]) 2022/08/21(日)15:06 ID:D11cwWL50(2/2) AAS
>>32
「実装」というが、「仕様」上で両方とも存在しているなら、同時に「実装」されるのでは?
>>34
ES3には「オブジェクト」の定義はあるが、「関数」の定義はない
故に「歴史的にはオブジェクトが先に定義された」といえなくもないが、そんな回答を望んでいるようにも見えない
外部リンク[html]:www2u.biglobe.ne.jp
参考になるかわからないが、typeof演算子は「[[Call]] を持つObject型」の場合に "function" を返す
省1
39(2): (スップ Sdc3-JVFl [1.72.7.185]) 2022/09/02(金)16:08 ID:anBQQFEld(1) AAS
ブックマークレットのスレッドかこちらか悩みましたが質問なのでこちらでご相談させていただきます。
他者のWebサイトを閲覧する際、JavaScriptを用いて作成されている場合、リンクを新しいタブで開けない場面があります。
頻繁にページを進んだり戻ったりする場面、可能であればリンク先を別タブで開くようにしたいです。
ブックマークレットを用いて、現在ページのJavaScriptのリンクを別タブで開くように書き換える処理をすることは可能でしょうか?
40(1): (ワッチョイ a3b7-83Bc [211.124.165.35]) 2022/09/02(金)16:38 ID:avuNeQJi0(1) AAS
>>39
そのサイト次第かな
クリックした後の画面を一発で開けるURLが用意されてたら基本的に実装できると思う
41(4): (ワッチョイ a52d-bBdM [220.100.64.9]) 2022/09/03(土)00:11 ID:8AM/s+hA0(1) AAS
連想配列から特定のキーを検索して、重複がないもののみ取り出した配列を取得したいのですが、
このコードだと速度的に問題がありました。何か良い方法があったら教えていただけないでしょうか
const a= [
{'id': 1, 'category': 'animal', 'kind': 'dog'},
{'id': 2, 'category': 'fruit', 'kind': 'apple'},
{'id': 3, 'category': 'fruit', 'kind': 'orange'},
{'id': 4, 'category': 'animal', 'kind': 'dog'},
省5
42(1): (ワッチョイ ad5f-wuTS [106.185.148.64]) 2022/09/03(土)02:15 ID:Wm/0iruN0(1) AAS
>>41
const buckets = a.reduce((buckets, current) => {
if (!buckets[current.kind]) {
buckets[current.kind] = [current];
} else {
buckets[current.kind].push(current);
}
省6
43: (スプッッ Sd03-5GnA [1.75.244.51]) 2022/09/03(土)03:34 ID:E5gjC2rTd(1) AAS
Mapで似たようなこと考えてた
44(2): (ワッチョイ 3501-bBdM [126.94.243.226]) 2022/09/03(土)10:05 ID:RJZpwhgn0(1/6) AAS
>>41
要素数や重複要素のばらつき具合によって結果は変わるが、最終的には力業が最速な事が多い
外部リンク:jsfiddle.net
極端な結果になっているのは重複要素がすぐそばにあり、while文による検索ですぐに見つかる為だ
重複要素が遠い位置にあるなら、while文による検索が遅くなるケースも十分にある
>>41のコードが比較的高速なのも重複要素が比較的近くにある為だ
Object.valuesやArray#filterによる変換コストが検索コストより高くついているので、他のコードが比較的遅い
省2
45: (ワッチョイ 3501-bBdM [126.94.243.226]) 2022/09/03(土)10:08 ID:RJZpwhgn0(2/6) AAS
>>44の補足
jsfiddleのconsoleはconsole.time()を実装していないようだ
ベンチマーク結果はブラウザのコンソールで確認する必要がある
46(1): (ワッチョイ 3501-bBdM [126.94.243.226]) 2022/09/03(土)10:28 ID:RJZpwhgn0(3/6) AAS
すまん
>>44のwhile_loopは期待通りに動かないので忘れてほしい(console.assert()のコードをミスって気づかなかった)
重複要素のばらつき具合によるが、(>>41の配列においては)暫定最速は>>41
47(1): (ワッチョイ 3501-bBdM [126.94.243.226]) 2022/09/03(土)10:46 ID:RJZpwhgn0(4/6) AAS
>>46
console.assert()の修正、重複チェックをkindのみに修正したら、mapが最速になった
外部リンク:jsfiddle.net
48: (ワッチョイ 3501-bBdM [126.94.243.226]) 2022/09/03(土)11:16 ID:RJZpwhgn0(5/6) AAS
>>47
高速化で考えるべきは「ループ回数の削減」と「変換回数の削減」
>>41 source
>>42 reduce
>>47 map
reduceはループ回数は削減されているが、変換回数がsourceよりも多い
要素数6では「変換コスト > 検索コスト」になってしまい、sourceよりも遅い
省6
49(1): (ワッチョイ 3501-bBdM [126.94.243.226]) 2022/09/03(土)11:42 ID:RJZpwhgn0(6/6) AAS
>>39
a要素でマークアップされているなら、難しくはない
for (let a of document.querySelectorAll('a[href]')) a.target = '_blank';
window.open()などでリンクを開く挙動もJavaScriptで制御しているなら、コードを読んでリンク先を得る手段を考える必要がある
50(3): (ワッチョイ 9534-9i1j [14.14.181.44]) 2022/09/04(日)09:22 ID:eAq4eNQY0(1) AAS
>>40
>>49
ありがとうございます。
テーブルの表示となっていて、行全体にリンクが設定されているようです。
以下のような記載が複数並んでおり、通常は左クリックでリンク先に移動しかできず、新しいタブで開くことができません。
<tr class=”〇〇〇” data-href=”★リンク先アドレス★” data-target=”〇〇〇”>
<td class=”〇〇〇”></td>
省4
51(1): (ワッチョイ d510-bEl6 [180.12.82.129]) 2022/09/04(日)12:38 ID:FoFuUBY00(1/2) AAS
<div style="width:100%;height:200px;border:Solid 3px #0000ff" id="test"></div>
これのcss初期設定を取得したいのでstyle="○○"の○○部分を抽出したいんだけどやり方がわかりません。
element.style.widthみたいに取得すると途中で値を書き換えられると初期設定が得られないので
最初にタグに埋め込んであるものを取得したいんです。
52(1): (ワッチョイ 955f-EB17 [14.8.104.32]) 2022/09/04(日)20:07 ID:KWOOnIlI0(1) AAS
getAttributeとか?
53(1): (ワッチョイ 7561-rTOP [222.144.116.143]) 2022/09/04(日)20:23 ID:FTTWPGH/0(1) AAS
element.style.hoge=fugaしたらstyle属性値も連動するんだから
書き換える前に取得しとくしかなくね?
54(1): (ワッチョイ 3501-vbgY [126.94.243.226]) 2022/09/04(日)21:15 ID:SMoCQy1h0(1) AAS
>>51
・直後にscript書いて書き換え前にstyleを取得しておく
・Fetch APIでhtmlをGETしてCSPでscript無効化してparseしてstyleを得る
55: (ワッチョイ d510-bBdM [180.12.82.129]) 2022/09/04(日)22:38 ID:FoFuUBY00(2/2) AAS
>>52-54
ありがとうございました
56(1): (ワッチョイ d52c-6nWD [180.52.202.152]) 2022/09/04(日)23:03 ID:9ocqxCfk0(1/2) AAS
>>50
開発者が、どのフレームワークを使っているのか分からないけど、
例えば、Ruby on Rails, Stimulus を使っているなら、
[Rails]Stimulusを使ってtableの行全体<tr>をリンクにする(jQuery不要)
外部リンク:zenn.dev
これのhref_controller.js に、
export default class extends Controller {
省9
57: 56 (ワッチョイ d52c-6nWD [180.52.202.152]) 2022/09/04(日)23:14 ID:9ocqxCfk0(2/2) AAS
>>56
// URL を設定する
window.location.href = href
みたいに直接、window.location.href に設定しているけど、
この場合、Ctrl + クリックや、
右クリックメニューから新しいタブで開くことは出来ないのかな?
58(1): (ワッチョイ e3b7-9TNW [211.124.165.35]) 2022/09/04(日)23:26 ID:RdtW7bNN0(1) AAS
>>50
遷移する時にdata-targetが使われることを見込んでこれでいけるかもね
for (let tr of document.querySelectorAll('tr.〇〇〇')) tr.dataset.target = '_blank'
※〇〇〇はtrのクラス名で
59(1): (JP 0H93-Dk2f [103.163.220.88]) 2022/09/05(月)18:27 ID:XvLqNcU6H(1) AAS
document内の要素で、textContentに'xxx'を持つクラスを取得するにはどうしたらいいですか?
全部の要素総当たりでtextContent調べるしかないんでしょうか?
60: (ワッチョイ 3501-bBdM [126.94.243.226]) 2022/09/05(月)18:51 ID:ng2JfbNn0(1/3) AAS
>>50
JavaScriptコードが不明なので正確な回答は不可能
>>58の想定通りなら、おそらくその実装が一番楽
tr要素ノードにclickイベントハンドラでwindow.openする実装と仮定して、下記実装が考えられる
1. elementdataset.hrefでリンク先アドレスを得る
2. createElementでa要素ノード生成
3. replaceChildで(A)のDOMになるよう調節
省8
61(1): (ワッチョイ 3501-bBdM [126.94.243.226]) 2022/09/05(月)19:18 ID:ng2JfbNn0(2/3) AAS
>>59
XPath式を使えば、textContentを使わなくて済む
外部リンク:jsfiddle.net
62: (ワッチョイ 3501-bBdM [126.94.243.226]) 2022/09/05(月)19:25 ID:ng2JfbNn0(3/3) AAS
>>61
テキストノードを子に持つ要素ノードを捕捉するコードにすればよかった
外部リンク:jsfiddle.net
63(2): (アウアウウー Sa69-QaXK [106.129.180.164]) 2022/09/07(水)17:04 ID:zBxXyTwva(1) AAS
プログラミング初心者でJavaScriptを勉強してます。
メンバ変数A、メソッドBを持つクラスがあり、メソッドBの中で変数Aを活用(Aを用いた処理やAの変更)したいのですが、
Aを引数としてBに渡して返り値として受け取るのと、Bの中で直接this.Aと記述して処理するのは何か違いがありますか?
メソッドBに別の変数を渡す可能性があるなら前者でないといけないのでしょうが、そうでなければ後者の書き方でよいでしょうか?
64(2): (ワッチョイ 6501-vbgY [60.85.61.123]) 2022/09/07(水)18:23 ID:LU0OXBc/0(1/2) AAS
>>63
this.Aは全てのインスタンスメソッドで参照できる
this.Aはインスタンスを参照可能なスコープ上で参照可能
仮引数AはメソッドBの関数スコープ外から参照不可能
65(1): (ワッチョイ 232c-HH83 [219.162.239.51]) 2022/09/07(水)19:11 ID:8NMkvrFG0(1) AAS
Ruby で書くと、
initialize は、constructor
class A
def initialize
@x = 0
end
def f_1
省11
66(1): (スッップ Sd43-5GnA [49.98.171.228]) 2022/09/07(水)19:17 ID:GIiuva0od(1) AAS
>>64
それ何にも疑問の解決になってないだろう
67: (ワッチョイ 6501-bBdM [60.85.61.123]) 2022/09/07(水)20:26 ID:LU0OXBc/0(2/2) AAS
>>66
↓のsetAとcalcAの違いを聞いてるんじゃないのか?
class Foo {
constructor (a) {
this.A = a;
}
setA (a) {
省7
68(1): (ワッチョイ 2b7c-QaXK [113.43.107.134]) 2022/09/08(木)00:18 ID:rIQlC2lz0(1) AAS
すいません。以下の様な状況でfuncCからfuncBまたはB'が呼ばれる状況を考えていました。B'のほうが楽な気がして。そもそも意味不明な質問だったら申し訳ないです…
```
class Foo{
varA; // varAの値はよそから取得
funcB (a){
//aに対する処理
return a;}
省10
69: 65 (ワッチョイ 232c-HH83 [219.162.239.51]) 2022/09/08(木)07:17 ID:eI1uoUaK0(1) AAS
Ruby では、>>65
に書いたように、
def f_1
@x = 1
end
みたいに、クラス内のインスタンスメソッド・f_1 内で、
インスタンス変数・@x を使えるので、一々、引数で渡す必要がない
70(1): (ワッチョイ 955f-Iguz [14.13.137.64]) 2022/09/08(木)19:40 ID:6QKcdu8L0(1) AAS
オブジェクト指向の一般的な話としては、クラス内の関数であればクラス内のメンバはいじっても問題ないと思う。
ただ、「どこの関数がこのメンバを触ってるのかわからない」ってほどクラスが巨大化するなら、もはやそれはたちの悪いグローバル変数そのものなので設計からおかしい。
71(1): (ワッチョイ 6501-CzlZ [60.85.61.123]) 2022/09/08(木)22:51 ID:D/mmzJCP0(1) AAS
>>68
一つ一つのコードの意味を理解して、一つ一つのコードでなぜをそれを使うのか、と自問して答えを出せば、自ずと答えが出てくる
質問していない部分で突っ込みどころが多すぎて、「何も考えてないんだな」と思わせられる
外部リンク:jsfiddle.net
・なぜ 全ての関数は返り値を持たないのか?
・なぜ Foo1#funcB は静的関数ではないのか?
・なぜ Foo1#funcC,Foo2#funcC は返り値ではなく、グローバル変数に演算結果を格納したのか?
省7
72(1): (オッペケ Sr81-3vxq [126.254.237.221]) 2022/09/08(木)23:10 ID:DGEh14TYr(1) AAS
それがプログラミング初心者に投げつける言葉かよ・・・
そういう知識や判断力もゆくゆくは必要だけども物事には順序ってもんがあってまだその域ではなかろう
マウントが取りたいだけならもっと近いレベルの相手にやんなよ
73: (テテンテンテン MM4b-HSKh [133.106.60.103]) 2022/09/08(木)23:23 ID:xrpQvLAzM(1) AAS
>>63
いいと思うよ
というかBに汎用性を持たせるのは微妙
74(1): (アウアウウー Sa69-QaXK [106.129.156.188]) 2022/09/09(金)09:56 ID:Rq87TVpoa(1) AAS
this.Aで書いた方が手っ取り早いことが多い気がしたのですが、そちらでもいいけどスコープに注意しないとバグの要因になる、グローバル変数を濫用しないようにというのと相似形の似たような話という認識でいいでしょうか。
下手したら必然性なく両者を混在させてしまったりしそうなので注意したいと思います。参照透過性とか言葉自体知りませんでした…
参考になりました。ありがとうございます。
75: (スップ Sd03-5GnA [1.75.3.22]) 2022/09/09(金)11:06 ID:hB1+BppPd(1) AAS
>>74
今は>>70の理解でいいと思うよ
今の時点であまり詰め込んでもしょうがないし
>>71みたいなののせいで萎縮しないでね
76: (ワッチョイ 6501-CzlZ [60.85.61.123]) 2022/09/09(金)19:12 ID:0zkp1JmC0(1) AAS
>>72
> 物事には順序ってもんがあってまだその域ではなかろう
順序が大切なことには同意
ダメ出しがたくさんあるのは「学習の順序」が間違っているから
いろいろと学習を飛ばしてコードを書いており、その質問をする域に達していない
初心者だからこそ、もっと基礎的な課題から取り組むのが現実解だと俺は思う
今までの受け答えを見る限り、付け焼刃で知識をつけているように俺には見える
省2
77: (ワッチョイ 232c-HH83 [219.162.235.49]) 2022/09/09(金)20:14 ID:n8dQNxep0(1) AAS
だから、オブジェクト指向とかプログラミングは、Ruby から始めるべき。
JavaScript(JS)みたいなややこしいもので、デザインパターンを学ぶべきではない
改訂2版 Ruby逆引きハンドブック
の1冊だけで、かなりのモジュール・ライブラリの使い方も分かる
同じページ数でも、JSなら、文法だけで終わる。
20年以上のJSの歴史を追っかけて行くから、文法だけでもRubyの5倍ぐらいある
だから、こういう言語へ手を出したらダメ。
省2
78: (ワッチョイ a95f-pw5f [14.8.104.32]) 2022/09/10(土)00:48 ID:1NdnS3vZ0(1) AAS
学習の順序とか提示せずに「何も考えてない」と切り捨てるのはマウンティングに入らないんですか?
79: (ワッチョイ 1901-T2pD [60.85.61.123]) 2022/09/10(土)06:13 ID:Cpvx7Vnj0(1/2) AAS
回答者相手にマウントとってる人に真面目に答えるだけ無駄か
そんな暇があったら、質問者に回答すればいいのに
80(1): (オッペケ Src5-qUKH [126.254.242.25]) 2022/09/10(土)09:58 ID:aLnVTfHzr(1) AAS
君は高圧的な正しさで初心者を殴ってるだけ
人にものを教えるのには向いてないと思うよ
81: (ワッチョイ 1901-V+uT [60.85.61.123]) 2022/09/10(土)11:01 ID:Cpvx7Vnj0(2/2) AAS
>>80
5chはそういうものと思っていたが、それがこのスレの流儀なら気を付ける
だが、回答者に高圧的だったり、回答者にマウントをとる人も是正されるような公平な世界であってほしいね
82: (オッペケ Src5-qUKH [126.254.179.217]) 2022/09/10(土)11:48 ID:DabBJhVCr(1) AAS
具体的にどの発言に対して言ってるのかわからんけど
そういう何か言い返さないと気がすまないって気持ちは心の中にしまっておいた方がいいんじゃないかな
83: (スップ Sd33-A6fq [49.97.111.223]) 2022/09/10(土)13:25 ID:JRksiUpNd(1) AAS
自分の過ちを認めると負けたみたいでプライドが傷つくから
俺も悪かったけどお前らも悪いから引き分けだよねということにしたい心理の表れ
84(1): (ワッチョイ 6910-Vaw7 [180.12.82.129]) 2022/09/11(日)20:15 ID:yDUj5jeF0(1/2) AAS
元の配列を関数内で空にしたいけどうまくいきません
100と表示されてしまったので空になっていませんでした。
配列は参照渡しなので元の配列も書き換えられると思ったんだけど
どうやれば関数内で元の配列を空にできますか?returnは使いたくないです。
let a_list = [100,200,300];
test(a_list);
function test(b_list){
省3
85(1): (ワッチョイ 818b-pqEy [210.228.102.1]) 2022/09/11(日)20:29 ID:bqV48/aB0(1) AAS
>>84
function test(b_list) {
b_list.length = 0
}
86: (ワッチョイ 6910-V+uT [180.12.82.129]) 2022/09/11(日)21:06 ID:yDUj5jeF0(2/2) AAS
>>85
できました
ありがとうございます
87: (オッペケ Src5-yIeJ [126.205.215.107]) 2022/09/12(月)09:29 ID:ptOOOLgwr(1) AAS
b_list = [];
が何故ダメかというとb_listを空にしてるんじゃなくて
b_listに新しい配列を代入してるだけだから
ということは覚えておこう
88(1): (ワッチョイ 6dbd-fO9i [122.133.74.218]) 2022/09/23(金)01:20 ID:93J4lVSi0(1) AAS
ブラウザで動かすとき、グローバルスコープでの demo って名前は何かある?
この名前の関数作ってボタンの onclick から呼び出そうとしたら関数未定義のエラーになる。
別の名前にすると呼び出せる。
89: (スップ Sd43-Kpwt [49.97.97.207]) 2022/09/23(金)09:32 ID:CDwP7FtJd(1) AAS
タイポかスコープの勘違いとかじゃないの?
コンソールでdemo関数定義して実行したら普通に動いたけど
90(1): (ワッチョイ 9501-Zrsu [126.242.174.70]) 2022/09/23(金)10:32 ID:UxdKoKVd0(1/2) AAS
>>88
再現可能なコードを出してみたら?
外部リンク:ja.stackoverflow.com
91(1): (ワッチョイ 23bd-fO9i [125.194.52.138]) 2022/09/23(金)15:04 ID:i+SKzCkA0(1/2) AAS
>>90
こんな感じだけど、ちょっと分かってきた。
全体貼ろうとしたらセキュリティチェックかなにかに引っ掛かって書けないから、scriptタグの中身と body の中身だけ。
function demo() { alert('DEMO'); }
<form>
<input type="button" name="demo" value="DEMO" onclick="demo()">
</form>
省2
92: (ワッチョイ 23bd-fO9i [125.194.52.138]) 2022/09/23(金)15:06 ID:i+SKzCkA0(2/2) AAS
エラーは未定義関数じゃなく、demo is not a function だった。
93: (スップ Sd43-Kpwt [49.97.96.176]) 2022/09/23(金)17:05 ID:bbK6e07Hd(1) AAS
thisとthis.formがスコープに入る仕様だそうな
外部リンク:qiita.com
有効に使う機会よりも謎の挙動にどハマりするケースの方が多そう
94: (ワッチョイ 9501-Zrsu [126.242.174.70]) 2022/09/23(金)18:38 ID:UxdKoKVd0(2/2) AAS
>>91
window.demoかaddEventListenerを使ってみては?
後者がベター
95: (ワッチョイ bf01-4MOF [126.242.174.70]) 2022/09/25(日)08:59 ID:oCqDdJBP0(1/2) AAS
回答もらった途端にいなくなる質問者多いな
96(1): (ワッチョイ 2b5f-JEaq [106.73.71.2 [上級国民]]) 2022/09/25(日)17:53 ID:hlHjM9NA0(1) AAS
こんにちは
ブラウザから、ローカルのファイル(画像など)を「関連付けされたソフトで開く」というのはできますか?
HTMLの<a href=#></a>だと、ブラウザ(Chrome)内で開いてしまいますが、これを別の画像ビューアで開きたいです
97: (ワッチョイ bf01-4MOF [126.242.174.70]) 2022/09/25(日)20:26 ID:oCqDdJBP0(2/2) AAS
>>96
参考情報
外部リンク:akaki.io
98(2): (ワッチョイ 2b5f-JEaq [106.73.71.2 [上級国民]]) 2022/09/26(月)17:57 ID:E/HZ+YPY0(1) AAS
ありがとうございます
「カスタムURLスキーム」を調べてやったみましたが、ローカルのファイルを指定ができません(画像ビューアは開くがファイルが開かない)
JavaScriptの質問ではないので恐縮ですが、どうやって指定できますかね?
外部リンク:qiita.com
例えば上のサイトを参考に、画像ビューアをhogeでレジストリ登録して下のようにすると、画像ビューアだけ起動してファイルは見つからなかったと出ます(hoge:file:///C:...などもダメ)
<a href="hoge:C:/tmp/sample.jpg"></a>
99: (ワッチョイ e27c-bwfb [221.241.223.58]) 2022/09/26(月)22:44 ID:Xyg4q6vF0(1) AAS
>>98
違ってるかもだけど、Windowsだったらパスの区切り文字は/じゃなくて\または¥じゃないのかな
で、\は制御文字として扱われるからエスケープして\\にしないとダメとか
100: (ワッチョイ a2bd-ZJWq [125.198.8.233]) 2022/09/26(月)23:02 ID:adbpU9F00(1) AAS
>>98
アプリの方もURLスキームでの起動に対応してないとだめなんじゃない?
URLスキームはその URLの書式をアプリ独自に決めてあって、アプリはその書式でアクションや対象を判別して動作するように作られてるんだと思う。
とりあえず与えられた引数が分かるテストアプリを見繕って hoge として登録してみたら何か分かるかもよ。
101(2): (JP 0Hd7-ruke [210.228.21.53]) 2022/10/06(木)16:54 ID:bvSP9gLaH(1) AAS
Xhrで非同期通信するサーバーサイドのファイル(api.php)の中に登録されてる関数を実行することって出来るかな?
api.phpのfunction hoge()を実行するって感じ
上下前次1-新書関写板覧索設栞歴
あと 901 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.031s