home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
DOS/V Power Report 2001 January
/
VPR0101A.BIN
/
MSIE_55
/
IEMIL_3.CAB
/
SHDOCLC.DLL
/
HTML
/
ANALYZE.DLG
< prev
next >
Wrap
Text File
|
2000-06-19
|
9KB
|
237 lines
<HTML id=dlgAnalyze STYLE="font-family: MS UI Gothic; font-size: 9pt;
width: 30em; height: 33em">
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=shift_jis">
<TITLE id=dialogTitle>
ドキュメントの分析
</TITLE>
<SCRIPT LANGUAGE="JavaScript" defer>
window.onerror = HandleError
function HandleError(message, url, line)
{
var L_Dialog_ErrorMessage = "このダイアログでエラーが発生しました。";
var L_ErrorNumber_Text = "エラー : ";
var str = L_Dialog_ErrorMessage + "\n\n"
+ L_ErrorNumber_Text + line + "\n"
+ message;
alert (str);
window.close();
return true;
}
function otherDocument()
{
return window.dialogArguments.document;
}
function loadBdy()
{
document.all.btnOk.onclick = new Function("window.close();");
document.onkeyup = new Function("documentOnKeyUp()");
runAnalysis();
}
function documentOnKeyUp()
{
if (window.event.keyCode == 27)
{
window.close();
}
}
function runAnalysis()
{
var errorsFound, reportLocation;
errorsFound = false;
reportLocation = document.all.ReportArea;
initializeResults(reportLocation);
errorsFound = errorsFound || checkBodyWithinFrameset(reportLocation);
errorsFound = errorsFound || checkAnythingAfterFrameset(reportLocation);
errorsFound = errorsFound || checkUnloadedComponents(reportLocation);
errorsFound = errorsFound || checkNonApartmentControls(reportLocation);
errorsFound = errorsFound || checkUnloadedStyleSheets(reportLocation);
if (errorsFound == false) {
reportNothingFound(reportLocation);
}
}
function initializeResults(reportLocation)
{
reportLocation.innerHTML = " ";
}
function reportNothingFound(reportLocation)
{
var L_NoErrors_Text = "エラーは見つかりませんでした。";
reportLocation.innerHTML = L_NoErrors_Text;
}
function checkBodyWithinFrameset(reportLocation)
{
var theDocument;
var framesets, bodies;
var retVal;
var L_FramesetInBody_Text = "ドキュメントの BODY 内に FRAMESET があるため、このドキュメントは正しく表示されない可能性があります。ページの作成者は次の方法でこの問題を解決できます。<OL><li>BODY タグを削除する。</li><li>ドキュメントの HEAD と FRAMESET の間に HTML コードがないことを確認する。</li></ol><br><hr>";
retVal = false;
theDocument = otherDocument();
framesets = theDocument.all.tags("frameset");
if (framesets.length > 0) {
bodies = theDocument.all.tags("body");
if (bodies.length > 0) {
reportLocation.insertAdjacentHTML("BeforeEnd", L_FramesetInBody_Text );
retVal = true;
}
}
return retVal;
}
function checkAnythingAfterFrameset(reportLocation)
{
var L_ContentAfterFrameset_Text = "FRAMESET の後にコンテンツがあるため、このドキュメントは正しく表示されない可能性があります。<br><hr>";
var theDocument;
var framesets;
var i, startIndex;
var retVal;
retVal = false;
theDocument = otherDocument();
framesets = theDocument.all.tags("frameset");
if (framesets.length > 0) {
startIndex = framesets(0).sourceIndex;
if (window.dialogArguments.anythingAfterFrameset) {
reportLocation.insertAdjacentHTML("BeforeEnd", L_ContentAfterFrameset_Text );
retVal = true;
}
}
return retVal;
}
function checkUnloadedComponents(reportLocation)
{
var theDocument;
var objects, applets, embeds;
var retVal;
retVal = false;
theDocument = otherDocument();
objects = theDocument.all.tags("object");
applets = theDocument.all.tags("applet");
embeds = theDocument.all.tags("embed");
retVal = checkReadyStateComplete(objects, reportLocation);
retVal = retVal || checkReadyStateComplete(applets, reportLocation);
retVal = retVal || checkReadyStateComplete(embeds, reportLocation);
return retVal;
}
function checkReadyStateComplete(objects, reportLocation)
{
var L_ObjectNotInstalled_Text = "次の OBJECT は正常にインストールされませんでした。<BR>";
var L_AppletNotInstalled_Text = "次の APPLET は正常にインストールされませんでした。<BR>";
var L_EmbedNotInstalled_Text = "次の EMBED は正常にインストールされませんでした。<BR>";
var L_ObjectNotInstalledReasons_Text = "<br><br>以下に考えられる原因を述べています : <OL><LI>現在のセキュリティの設定では、この OBJECT は使用できない。</li><li>この OBJECT はコンピュータに正常にインストールされていない。</li><li>ページまたは OBJECT の作成の仕方が正しくありません。</li></ul><hr>";
var L_AppletNotInstalledReasons_Text = "<br><br>以下に考えられる原因を述べています : <OL><LI>現在のセキュリティの設定では、この APPLET は使用できない。</li><li>この APPLET はコンピュータに正常にインストールされていない。</li><li>ページまたは APPLET の作成の仕方が正しくありません。</li></ul><hr>";
var L_EmbedNotInstalledReasons_Text = "<br><br>以下に考えられる原因を述べています : <OL><LI>現在のセキュリティの設定では、この EMBED は使用できない。</li><li>この EMBED はコンピュータに正常にインストールされていない。</li><li>ページまたは EMBED の作成の仕方が正しくありません。</li></ul><hr>";
var strNotInstalled;
var strNotInstalledReason;
var i, element;
var retVal;
retVal = false;
if (objects == null)
return retVal;
for (i=0; i < objects.length; i++) {
element = objects(i);
if (element.readyState != 4 && element.readyState != "complete") {
switch (element.tagName.toLowerCase())
{
case "object":
strNotInstalled = L_ObjectNotInstalled_Text;
strNotInstalledReason = L_ObjectNotInstalledReasons_Text;
break;
case "applet":
strNotInstalled = L_AppletNotInstalled_Text;
strNotInstalledReason = L_AppletNotInstalledReasons_Text;
break;
case "embed":
strNotInstalled = L_EmbedNotInstalled_Text;
strNotInstalledReason = L_EmbedNotInstalledReasons_Text;
break;
}
reportLocation.insertAdjacentHTML("BeforeEnd", strNotInstalled);
reportLocation.insertAdjacentText("BeforeEnd", element.outerHTML);
reportLocation.insertAdjacentHTML("BeforeEnd", strNotInstalledReason);
retVal = true;
}
}
return retVal;
}
function checkNonApartmentControls(reportLocation)
{
var L_ObjectNotApartmentModel_Text = "次の OBJECT はアパートメント スレッド モデルを使用していないため、一部の環境で正しく機能しない可能性があります。<br>";
var theDocument;
var objects;
var i;
var retVal;
retVal = false;
theDocument = otherDocument();
objects = theDocument.all.tags("object");
for (i=0; i < objects.length; i++) {
element = objects(i);
nonApartmentModel = checkCLSIDForNonApartmentModel(element);
retVal = retVal || nonApartmentModel;
if (nonApartmentModel == true) {
reportLocation.insertAdjacentHTML("BeforeEnd", L_ObjectNotApartmentModel_Text);
reportLocation.insertAdjacentText("BeforeEnd", element.outerHTML);
reportLocation.insertAdjacentHTML("BeforeEnd", "<br><hr>");
}
}
return retVal;
}
function checkCLSIDForNonApartmentModel(element) {
return !(window.dialogArguments.isApartmentModel(element));
}
function checkUnloadedStyleSheets(reportLocation)
{
var theDocument;
var links;
var retVal;
retVal = false;
theDocument = otherDocument();
links = theDocument.all.tags("link");
retVal = checkLinkReadyStateComplete(links, reportLocation);
return retVal;
}
function checkLinkReadyStateComplete(objects, reportLocation)
{
var i, element;
var retVal;
var L_StyleSheetNotInstalled_Text = "次のスタイル シートはインストールされていないため、このドキュメントは正常に表示されない可能性があります : ";
retVal = false;
if (objects == null)
return retVal;
for (i=0; i < objects.length; i++) {
element = objects(i);
if (element.rel.toLowerCase() == "stylesheet"
|| element.rel.toLowerCase() == "alternate stylesheet")
{
if (element.readyState != "complete" && element.readyState != 4) {
reportLocation.insertAdjacentHTML("BeforeEnd", L_StyleSheetNotInstalled_Text + element.href + "<BR><hr>");
retVal = true;
}
}
}
return retVal;
}
</SCRIPT>
</HEAD>
<BODY ID=bdy onLoad="loadBdy()" style="font-family: 'MS UI Gothic';
font-size: 9pt; background: threedface; color: windowtext;"
topmargin=0 scroll=no>
<br id=brAnalysis> 現在のドキュメントの分析 :<br>
<br>
<DIV id=ReportArea style="height: 75%; width: 93%;
position: absolute; left: 5%; top: 12%; overflow: auto; padding: 3px;
border-style: solid; border-width: 1px; border-color: threeddarkshadow">
エラーは見つかりませんでした。
</DIV>
<br id=br2><P id=par1> </P>
<DIV id=divButton style="font-family: MS UI Gothic; font-size: 9pt;
width: 8em; height: 2.2em; position: absolute;
top: 27.1em; left: 20em; background: threedface;">
</DIV>
<BUTTON id=btnOk tabIndex=55
style="font-family: MS UI Gothic; font-size: 9pt;
width: 7em; height: 2.2em; position: absolute;
top: 27.5em; left: 21em" type=submit>
OK
</BUTTON>
</BODY>
</HTML>