バックグラウンド:
Concrete5 などのサードパーティ CRM を使用して Web サイトを作成します。ページの 1 つで、別の Web サーバーからのコンテンツを表示したいと考えています。もう 1 つの Web サーバーは、独自の産業用コントローラーであり、x-shockwave-flash を利用しています。産業用コントローラはレガシー ハードウェアであり、変更できません。この産業用コントローラに最初にアクセスするときは、ログオン資格情報を入力する必要があります。親 Web サイトは 1 つのクライアントにのみ表示され、常に開いています。
問題:
親 Web サイト ページ間を移動する場合、産業用コントローラー Web サーバーは、ページにアクセスするたびに認証情報を要求します。これは受け入れられません。
最良の解決策:
どうにかして、Cookie または x-shockwave-flash ベースの産業用 Web サーバーが必要とするものを見つけ出します。私はフラッシュについて何も知らず、どこから始めればよいかわかりません。また、解決策を提案するのに十分な情報を提供することは決してできないと思います. あなたがアイデアを持っているなら、素晴らしいです!そうでなければ、私はそうすることを放棄するつもりです。
希望に満ちた解決策:
iframe を含まない親 Web サイトのページに移動する場合でも、iframe を開いたままにします。
最初に試みた解決策:
産業用コントローラへの iframe を含む親 Web サイトへの iframe と、他のすべてのページの親 Web サイトへの iframe を含むスーパー親 Web サイトを作成しました。次に、JavaScript を使用して、表示したページに基づいて適切な iframe を表示/非表示にしました。これは非常に単純な HTML ページで機能しましたが、サードパーティの CMS を組み込むことはできないと思います。
質問:
この iframe を持つ親 Web サイトのページにアクセスするたびに、産業用 Web サーバーへの iframe が再ロードされないように、親 Web サイトで JavaScript またはその他のテクノロジを使用できますか?
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Fictional Concrete5 Website</title>
</head>
<body>
<p><a href="?p=1">one</a> <a href="?p=2">two</a> <a href="?p=3">three</a></p>
<?php
$p=empty($_GET['p'])?1:intval($_GET['p']);
switch($p) {
case 1:case 2:
echo('Page '.$p);
break;
case 3:
echo('Page 3<hr><iframe src="http://example.com/"></iframe>');
break;
}
?>
</body>
</html>