0

jquery.autoellipsis-1.0.10.js を使用して 2 行の省略記号を作成しています。ページは従来の ASP で作成されます。最初のページの読み込みでは、省略記号がうまく機能します。非常に古い方法で行われるページネーションがあり、ページは iframe で実行され、div タグの innerHTML を書き換えます。ただし、iframe を介して読み込む場合、省略記号は機能しません。

IFRAME のコードは次のとおりです。

<%
pstrOut = "<div class=""block"">Neque porro quisquam est qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit</div>"
%>
<html>
<head>
<script language="javascript" type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script language="javascript" type="text/javascript" src="/js/jquery.autoellipsis-1.0.10.js"></script>
<script language="javascript" type="text/javascript">
$(document).ready(function(){
  $("div.block").ellipsis();
});
</script>
<style type="text/css">
div.block {
  width:<%=nVideoWidth%>px;  
  max-height:30px;
  min-height:15px;
}
</style>
<script language="javascript" type="text/javascript">
var jstr = '';
<%=cUtil.ToJS(pstrOut,"jstr") %>
top.parent.document.getElementById('TargetDIV').innerHTML = jstr;
</script>
</head>

cUtil.ToJS:

<%     
Function toJS(val,valVar)
Dim pstrOut
If isNull(val) Then
  Exit Function
End If
If valVar = "" Then
  valVar = "jstr"
End If

Select Case valVar
  Case "-1"
    pstrOut = Replace(val, "'", "\'")
pstrOut = Replace(pstrOut, ";", "\;")
pstrOut = Replace(pstrOut, ",", "\,")
pstrOut = Replace(pstrOut,vbLF,vbCr)
pstrOut = Replace(pstrOut, vbCr, "\n';")
toJS = pstrOut
  Case "0"
pstrOut = Replace(val, "'", "")
pstrOut = Replace(pstrOut, ";", "")
pstrOut = Replace(pstrOut, ",", " ")
pstrOut = Replace(pstrOut,vbLF,vbCr)
pstrOut = Replace(pstrOut, vbCr, "")
toJS = pstrOut
  Case Else
pstrOut = Replace(val, "'", "\'")
pstrOut = Replace(pstrOut, ";", "\;")
pstrOut = Replace(pstrOut, ",", "\,")
pstrOut = Replace(pstrOut,vbLF,vbCr)
pstrOut = Replace(pstrOut,vbCrLf,vbCr)
pstrOut = Replace(pstrOut, vbCr, "\n';" & vbCr & valVar & " += '")
toJS = valVar & " += '" & pstrOut & "\n';" & vbCr
  End Select

End Function

iframe が実行されて親ページに出力されたら、親ページで動作するように省略記号が必要です。私はjQueryについてほとんど知識がないので、どんなアイデアでも。どんな助けでも大歓迎です。

ありがとう!

4

1 に答える 1

0

これを試して:

<script language="javascript" type="text/javascript">
var jstr = '';
<%=cUtil.ToJS(pstrOut,"jstr") %>
$("#TargetDIV",parent.document).html(jstr).ellipsis();
</script>
于 2013-05-28T10:22:10.477 に答える