私はコース管理システム (特に Blackboard) を管理していますが、Blackboard が問題を認識しないため、自分で修正しなければならないという問題が発生しています。簡単に言うと、JavaScript の問題に起因する、Blackboard の新しい Service Pack でのコンテンツのレンダリングに関する問題があります。ここに私のジレンマがあります:
このコンテンツ領域のフレームの寸法は、「setIFrameHeightAndWidth」という関数によって設定されます。Blackboard のインストールでファイルを見つけ、その内容を以下のペーストビン リンクに列挙しました。
この2行を常に編集しています
iframeElement.style.height = iframeElement.contentWindow.document.body.scrollHeight + frameHeight + 300 +'px';
iframeElement.style.width = '100%';(the 100% change I made myself)
しかし、このファイルを保存してページをリロードすると、変更が常に適用されるとは限りません。このページで関数を呼び出すコンテンツをロードする特定のページに移動すると、次のようになります。
Blackboard はその page.js ファイルを取得し、それを 3 つの異なるファイルにコピーし (理由は不明)、2F88F5F765F4753D1239E6FC3F898242.js、04785022C06B7A2CD3E35B74D652973C.js、および A4B16A1C4776F93BE8C1A0BF21AB7C41.サーバーは e:\blackboard\content\vi\BBLEEARN\branding__js__ です。
これらのファイルはコピーであるか、以前の page.js ファイルのプロパティを引き継いでいるようです。私はこれを確認しましたが、時々ページをリロードすると変更が固執しません.これが私がこれが起こっていると思う理由であり、これが私の質問です.
Chrome または Firefox のインスペクターを使用してページのリソースを調べ、関数 setIFrameHeightAndWidth を検索すると、3 つのファイルすべてが返されます。上記の 3 つのファイルには英数字の名前が付けられており、内部の変更は反映されていません。ページが以前にアクセスされた場合、これらの 3 つのページがキャッシュされると思われ、これが発生することは望ましくありません。キャッシュをクリアすると問題は解決しますが、できればユーザーベースに負担をかけたくありません。page.js ファイルの上部に、次のセクションがあることに気付きました。
Only include the contents of this file once - for example, if this is included in a lightbox we don't want to re-run
* all of this - just use the loaded version.
これが複数回呼び出されるのを妨げているコードが何かありますか? この特定のページがキャッシュされないようにして、変更が常に即座に反映されるようにする方法はありますか? ありがとうございました。