問題タブ [new-window]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
validation - 検証が失敗していない場合にのみ、target =“ _ blank”を使用して新しいウィンドウでレポートを開く方法
別のタブで開く必要があるレポートがありますが、検証が失敗していない場合に限ります。私の場合、検証は失敗し、同じページが別のタブで開き、検証エラーが発生します。
javascript - javascriptは、ウィンドウが別のウィンドウを開いたかどうかを検出できますか?
一種のキオスクとして動作するWebページを作成しました。開くと、それが制御ウィンドウであるかどうかを検出します。そうでない場合は、制御ウィンドウページをロードし、新しいウィンドウでインデックスページを再度開いて、オープナーポインタを検出できるようにします。2番目のウィンドウには、3番目のウィンドウで任意のURLを開くリンクが含まれています。コントローラウィンドウは、この2番目のウィンドウが開いているかどうかを検出し、他のウィンドウにフォーカスがある場合は、そのウィンドウを前面に戻します。
プロセスのある時点でこの任意のWebサイトは、クイズ用の別のウィンドウを開きます(私のサイトによって制御されていません)が、コードが2番目のウィンドウを前に出し続けるため、この新しいウィンドウは後ろに押し出され続けます。2番目のウィンドウが別のウィンドウを開いたかどうかを検出し、開いている場合は、ウィンドウがフォーカスされないようにする方法はありますか?
以下のコードはメインページ(index.php)で実行されます
以下は、コントローラーウィンドウ(rearWindow.php)で実行されている私のコードです。
あなたの助けとフィードバックは大歓迎です。
最初のifは、accelWindow.focus()を呼び出し、accelWindowに子ウィンドウがあるかどうか(つまり、クイズを開いたかどうか)を確認したい場合は、accelWindow.focus()を呼び出さないでください。
PSこれは私の最初の投稿/質問です:)
javascript - jQuery / jsで複数のウィンドウを開き、フォーム送信イベントをトリガーするにはどうすればよいですか?
URLのコンマ区切りの文字列が与えられた場合、変換された配列の要素ごとに個別のウィンドウを開いてから、フォームを送信します。
次のコードは1つのウィンドウのみを開き、フォームの送信は行われません。
次の操作を行うと、目的のアクションが表示されます。3つの新しいタブ/ウィンドウが開きますが、フォームの送信は2回行われるようで、まったく意味がありません。
誰かがこれに光を当てることができますか?
html - 新しいウィンドウで開いたときに新しい PDF ドキュメントを自動的に取得する
ヘッダーは、フェッチされたページが常に最新であることを保証できることを知っています: すべてのブラウザーで Web ページのキャッシュを制御する方法は?
しかし、新しいウィンドウで PDF を取得する必要があります。次のコードを使用して PDF を取得していますが、PDF 自体が新しい (キャッシュされていないバージョン) であることを確認するにはどうすればよいですか?
アプリケーションは常に動的に PDF ドキュメントを作成するため、最新のドキュメントが必要です。これを単純に行うことはできませんか?または、これまたは何か専用の PHP ページを作成する必要がありますか?
c# - WebBrowser.NewWindow イベントの URL を取得
新しい Window イベントを新しいタブにリダイレクトしようとしています:
を使用することが、新しいウィンドウの URL を取得する最良の方法であるかどうかはWebBrowser.StatusText
わかりません (これは、テストしたすべてのサイトで機能するとは限りません)。
代わりに、新しいウィンドウの宛先を取得するために呼び出すより良いクラス/メソッドはありますか?
アップデート:
チャーリーが提案した解決策を試しました
- Microsoft Internet Control (COM) リファレンスを追加
- SHDocVw を使用して追加。
コードを使用しました:
System.Windows.Forms.WebBrowser myWebBrowser = new System.Windows.Forms.WebBrowser();
SHDocVw.WebBrowser axBrowser = (SHDocVw.WebBrowser)myWebBrowser.ActiveXInstance;
axBrowser.NewWindow3 += 新しい DWebBrowserEvents2_NewWindow3EventHandler(Browser_NewWindow3);
残念ながらNullReference Exception
、修正できなかった 3 番目の行を受け取りました。
解決:
NewWindow2イベントを実装する方法を説明しているため(元の宛先URLを処理するNewWindow3の代わりに)、解決策が関連する回答にあるとは思わない(または見つけることができなかった)および実装は提案されているのと同じですここで NullReference Exception エラーが発生します。
とにかく、私はこの2つの投稿を発見しました:
前の 3 行を次のように変更することをお勧めします。
System.Windows.Forms.WebBrowser
現在、すべてが機能しており、残りのすべてのコードでオリジナルを使用し続けることができました。
javascript - javascriptを使用してhtmlを新しいウィンドウに書き込む
新しいウィンドウを開き、jQuery/JavaScript を使用して HTML を書き込む方法について調査してきましたが、次のようにするのが適切な方法のようです。
新しいウィンドウの変数を作成します
新しいデータを挿入し、変数を操作します
そして私にとって、それは完全に理にかなっています。ただし、これを自分のスクリプト ("data" は HTML のホルダー) に組み込もうとすると、新しいウィンドウは開きません。 ..
何か案は?
PSコンソールにエラーはないようです
javascript - JavaScript結果ハックが機能しない
質問:このハックを機能させるために何が欠けていますか?
私が取り組んでいるMVCアプリの場合、「異常な」ケースに遭遇しました。
ActiveReportsを使用して特定のレポートを生成し、許可されているユーザーには、新しいウィンドウで開くこれらのレポートへのアクセスを許可するActionLinkをレイアウトに表示します。このプロジェクトの方向性は、すべてのレポートが新しいウィンドウで開くことです。
ただし、ドロップダウンとテキストフィールドで構成されるオーバーレイを使用してこのレポートにアクセスするため、ActionLinkの簡単な修正を適用できない外れ値が1つあります。これらの組み合わせはコントローラーに送られ、コントローラーは指定された条件に基づいてアクションへのリダイレクトを返します(サーバーでのみ発生する必要がある特定のチェックがあるため、このオーバーレイのJavaScriptでこれを行わないのはなぜですかダイアログ。)
さて、私はMVCのような小さな制限を(直接)新しいウィンドウにリダイレクトすることを許可しないようにする人ではないので、これはすでに1回限りの状況であるため、指定されたJavaScriptResultハックを試しました。ハックであるにもかかわらず、私の問題に対するはるかに簡単で最も保守しやすい解決策:
もちろん、Foo
このメソッドの起動につながるアクション(の入力、正しいドロップダウンオプション)を実行すると、次の出力が表示されます。
...JavaScriptのその部分が自動的に開くことになっているというレポートではありません。
この使用法は(ほとんどの場合)アンチパターンと見なされることを理解していますが、より受け入れられる使用法に対応するためにUIを自由に変更することはできません。
質問:このハックを機能させるために何が欠けていますか?
編集:これも機能しなかった代替実装を試みました:
これも同様に効果がありませんでした。
編集:ハックでの別の失敗した試み:
編集:この状況の悪は大きな影響を及ぼしました!コントローラでのこれらの邪悪な操作を回避し、代わりにJavaScriptで実行するという新しい方向性が生まれました。そうは言っても、私自身の啓蒙のために、ハックを機能させる実際の方法にはまだ興味があります。
javascript - Javascript で新しいウィンドウを開く
reddit を開くための簡単なコードがいくつかありますが、新しいウィンドウで開く必要があります。いくつかの異なるアプローチを試みましたが、どれも機能しません。以下のコードに何を追加すればよいでしょうか?
c# - ASP.Net WebForms LinkButtonをクリックして新しいタブを開き、非表示のhtml入力変数にIDを渡します
ユーザーコントロールを介して構築されたリピーターを備えたaspxwebformsページがあります。各リピーターアイテムにはリンクボタンがあります。私がしたいのは、LinkButton(ページAのユーザーコントロールのリピーター内)がクリックされると、URLが新しいタブで開かれ、そのLinkButtonの横にある非表示のIDが渡されることです(セキュリティに関するWeb開発のベストプラクティスに従って)可能であれば)新しいタブのaspxページ(ページB)に移動します。
ページAとページBの両方が同じアプリケーションにあります。
上記の目的は、ユーザーがLinkButtonをクリックして開いたURLから戻った後、検索結果に簡単に戻ることができるようにすることです。
私は、これを行う方法について、標準的なベストプラクティスの方法に近いアイデアを受け入れています。
これまでのところ、私は試しました:
1)クロスページ投稿–これは、IDを渡すためには機能しましたが、新しいタブで開くためには機能しませんでした。
2)PostBackUrlをページBのURLに設定し、OnClientClickでPage.Form.Target = "_ blank"を設定してjavascriptを呼び出し、ユーザーコントロールからの非表示IDをページBのhtml非表示入力の値に設定します。
3)OnClientClickでwindow.open( "page B url"、 "_newtab")も使用してみました。
-
a) これまでのところ、正しく機能した唯一の方法は、上記の3つの異なる方法のうちの2番目の方法でした。
ただし、ページBが新しいタブに読み込まれた後、ページAのPage.Form.Targetを「_blank」に設定する前の状態にリセットする方法がわかりません。 -
b)Page.Form.Targetをリセットするために私が試した方法は、役に立ちませんでした。
-
1) ページAのPage_Loadでターゲットをリセットします。ここでIsPostBack == true->により、ページBはページAと同じコンテンツでロードされます。
-
2) ページAのユーザーコントロールのPage_Load->メソッド1と同じ結果でターゲットをリセットする
-
3)ページAのユーザーコントロールのターゲットをリセットするページAのユーザーコントロールのLinkButtonのOnUnLoad->メソッド1と同じ結果
-
4) LinkButtonのOnClientClickを介してjavascriptでターゲットをリセットする->は機能しませんでした
-
5)ページAのフォームへ の参照を含むページAからのパブリック変数を使用してページBのPage_Loadでターゲットをリセットする
(クロスページ投稿で実行できるのと同様)->は機能しませんでした。
次に試すことを考えているのは、次のとおりです。
1) ページAで別のユーザーコントロールをラップして、ページBのコンテンツをaspパネル(パネルB)に表示します。
2) ページBのコンテンツを新しいユーザーコントロールページに配置します
3) aspパネル(パネルA)のページAの検索結果コンテンツをラップします。
4) 新しいユーザーコントロールのリピーターのLinkButtonをクリックすると、パネルAの検索結果のコンテンツが非表示になり、パネルBが表示されます。
5) ユーザーが検索結果に戻りたい場合は、パネルBのコンテンツの[検索に戻る]リンクボタンをクリックすると、パネルBが非表示になり、パネルBのコンテンツがクリアされ、パネルAが表示されます。再び表示されます。
それがうまくいくかどうかはまだわかりません。
これはそれほど難しいことではないようです。
これは単純な概念であり、Web開発ではかなり一般的な状況だと思います。
ワイリー・コヨーテがロードランナーを捕まえようとしているような気がします。なぜなら、すべてが完全に失敗する、精巧で考え抜かれた計画を思いついたからです。
私は今、「助けて!