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 回答