0

vbscriptでiframe名を抽出するにはどうすればよいですか?たとえば、私の文字列値が

<DIV style="MARGIN-TOP: 0px; WIDTH: 670px; HEIGHT: 210px; VISIBILITY: visible; MARGIN-LEFT: -335px; TOP: 48px" id=TB_window><DIV id=TB_title>  <DIV id=TB_ajaxWindowTitle>Add Media</DIV>  <DIV id=TB_closeAjaxWindow><A id=TB_closeWindowButton title=Close href="#" jQuery172014112867239284427="140"><IMG src="http://www.gorgeoushentai.com/wp-includes/js/thickbox/tb-close.png"></A></DIV></DIV><IFRAME style="WIDTH: 670px; HEIGHT: 180px" id=TB_iframeContent onload=tb_showIframe() src="http://www.gorgeoushentai.com/wp-admin/media-upload.php?post_id=168&amp;" frameBorder=0 name=TB_iframeContent656 hspace=0>This feature requires inline frames. You have iframes disabled or your browser does not support them.</IFRAME></DIV>

その場合、抽出される値はTB_iframeContent656になります。

vbscriptでコードを書き込もうとしましたが、機能しません

<script type="text/vbscript">
box="<DIV style=""MARGIN-TOP: 0px; WIDTH: 670px; HEIGHT: 210px; VISIBILITY: visible; MARGIN-LEFT: -335px; TOP: 48px"" id=TB_window><DIV id=TB_title>  <DIV id=TB_ajaxWindowTitle>Add Media</DIV>  <DIV id=TB_closeAjaxWindow><A id=TB_closeWindowButton title=Close href=""#"" jQuery172014112867239284427=""140""><IMG src=""http://www.gorgeoushentai.com/wp-includes/js/thickbox/tb-close.png""></A></DIV></DIV><IFRAME style=""WIDTH: 670px; HEIGHT: 180px"" id=TB_iframeContent onload=tb_showIframe() src=""http://www.gorgeoushentai.com/wp-admin/media-upload.php?post_id=168&amp;"" frameBorder=0 name=TB_iframeContent656 hspace=0>This feature requires inline frames. You have iframes disabled or your browser does not support them.</IFRAME></DIV>"

data = box.document.getElementById("TB_iframeContent").name
document.write(data)
</script>
4

1 に答える 1

0

コードには2つの問題があります。

  1. オブジェクトには、documentというstring名前の値/メソッドが含まれていません。
  2. このように実行すると、ドキュメントが作成される前にコードが実行されるため、iframeのようなものはまだ存在しないため、明らかにそのような要素は見つかりません。

実用的な例については、以下のコードを参照してください。まず、の代わりに実際のページを確認しますstring。このWindowLoad関数は、コードを実行する前にページがロードされていることを確認します。

<html>
<head>
<script type="text/vbscript">
Set window.onload = GetRef("WindowLoad")
Function WindowLoad
    Dim somediv
    Set somediv = document.getElementById("someid")

    Dim data 
    Set data = document.getElementById("TB_iframeContent")
    if data Is Nothing then
        MsgBox("element does not exist")
    else
        somediv.InnerHTML = data.name
    end if

End Function
</script>
</head>

<body>
<!-- Some ID for testing purposes -->
<div id="someid"></div>
<!-- The DIV with the iframe -->
<div style="MARGIN-TOP: 0px; WIDTH: 670px; HEIGHT: 210px; VISIBILITY: visible; MARGIN-LEFT: -335px; TOP: 48px" id=TB_window>
    <div id=TB_title>  
    <div id=TB_ajaxWindowTitle>Add Media</DIV>  
    <DIV id=TB_closeAjaxWindow><A id=TB_closeWindowButton title=Close href="#" jQuery172014112867239284427="140">
        <IMG src="http://www.gorgeoushentai.com/wp-includes/js/thickbox/tb-close.png"></A>
    </DIV>
    </DIV>
    <IFRAME style="WIDTH: 670px; HEIGHT: 180px" id=TB_iframeContent onload=tb_showIframe() src="http://www.gorgeoushentai.com/wp-admin/media-upload.php?post_id=168&amp;" frameBorder=0 name=TB_iframeContent656 hspace=0>This feature requires inline frames. You have iframes disabled or your browser does not support them.</IFRAME>
    </DIV>
</body>
</html> 
于 2012-10-30T17:21:38.617 に答える