我管理一个课程管理系统(特别是Blackboard),我遇到了一个问题,我不得不自己解决,因为Blackboard不承认这个问题。简而言之,在Blackboard中的后续Service Pack中呈现内容存在一个问题,该问题源于javascript问题。这是我的困境:
此内容区域的框架尺寸由名为“setIFrameHeightAndWidth”的函数设置。我在Blackboard安装中找到了该文件,并在这里用pastebin链接枚举了它的内容:
我不断编辑这两行
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.js并将它们放入我们的外部Blackboard内容目录中,对于我的开发服务器是e:\ blackboard \ content \ vi \ BBLEARN \ branding__js __。
这些文件似乎是副本,或者更像是上一个page.js文件的属性。我已经证实这一点,但如果我有时重新加载页面,那么更改就不会发生变化,这就是为什么我认为这种情况正在发生,这是我的问题。
如果我使用Chrome或Firefox的检查器查看页面的资源,并搜索函数setIFrameHeightAndWidth,它将返回所有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.
代码中是否存在阻止多次调用此问题的内容?有没有办法可以防止这个特定的页面被缓存,以便变化总能立即反映出来?谢谢。