📄 view-postthreadedview.ascx
字号:
<%@ Control Language="c#" %>
<%@ Register TagPrefix="CS" Namespace="CommunityServer.Controls" Assembly="CommunityServer.Controls" %>
<%@ Register TagPrefix="CA" Namespace="ComponentArt.Web.UI" Assembly="ComponentArt.Web.UI" %>
<%@ Register TagPrefix="CSD" Namespace="CommunityServer.Discussions.Controls" Assembly="CommunityServer.Discussions" %>
<script language="javascript">
function resizeTreeViewPane(newPaneHeight, newPaneWidth)
{
var listing = document.getElementById('PostTree');
var header = document.getElementById('PostTreeHeading');
if (listing && header)
{
try
{
listing.style.height = (newPaneHeight - parseInt(header.offsetHeight)) + 'px';
<%=ThreadTree.ClientID%>.Render();
}
catch (err)
{
}
}
}
var displayPaneWidth, displayPaneHeight;
function resizePostDisplayPane(newPaneHeight, newPaneWidth)
{
displayPaneWidth = newPaneWidth;
displayPaneHeight = newPaneHeight;
var iframe = document.getElementById('<%=PostContainer.ClientID%>');
if (iframe && iframe.contentWindow && iframe.contentWindow.resizePostDisplay)
iframe.contentWindow.resizePostDisplay(newPaneWidth, newPaneHeight);
}
function getPostDisplayWidthHeight()
{
return new Array(displayPaneWidth, displayPaneHeight);
}
function updateLinkTargets(doc)
{
try
{
if (doc && doc.getElementsByTagName)
{
var re = new RegExp('^javascript', 'i');
var elements = doc.getElementsByTagName('A');
for(var i = 0; i < elements.length; i++)
{
if (!elements[i].target && !re.test(elements[i].href))
elements[i].target = "_top";
}
}
}
catch (err)
{
}
}
</script>
<style>
/* override to ensure panels can be resized to window appropriately */
#CommonBodyTable
{
table-layout: fixed;
}
</style>
<div class="CommonBreadCrumbArea" style="margin: 0px;"><CSD:BreadCrumb ShowHome="true" runat="server" id="Breadcrumb3"/></div>
<table cellpadding="0" cellspacing="0" border="0" width="100%" style="table-layout: fixed;">
<tr valign="top">
<td id="PostTreeArea" class="ForumTreeArea" width="250">
<div style="width: 250px;">
<div id="PostTreeHeading">
<CS:donut runat="server" id="TooManyPostsMessage" Visible="False"><div class="ForumDisplayMessage"><asp:Literal Runat="server" ID="Literal1" /></div></CS:donut>
<div class="ForumPostTreeHeading"><CS:ResourceControl runat="server" ResourceName="PostThreadedView_PostTreeHeading" /></div>
</div>
<div id="PostTree" style="overflow: hidden; width: 100%; height: 100%;">
<CA:TreeView id="ThreadTree"
DragAndDropEnabled="false"
NodeEditingEnabled="false"
KeyboardEnabled="true"
CssClass="ForumPostTree"
NodeCssClass="ForumPostTreeNode"
SelectedNodeCssClass="ForumPostTreeNodeSelected"
HoverNodeCssClass="ForumPostTreeNodeHover"
LineImageWidth="19"
LineImageHeight="20"
DefaultImageWidth="10"
DefaultImageHeight="11"
ItemSpacing="0"
ImagesBaseUrl="~/themes/default/images/"
NodeLabelPadding="3"
ParentNodeImageUrl="icon_post_show.gif"
ExpandedParentNodeImageUrl="icon_post_show.gif"
LeafNodeImageUrl="icon_post_show.gif"
ShowLines="true"
LineImagesFolderUrl="~/themes/default/images/file/lines/"
EnableViewState="false"
ExpandNodeOnSelect="true"
CollapseNodeOnSelect="false"
AutoScroll="true"
HoverPopupEnabled="true"
width="100%"
height="100%"
runat="server" />
<CA:Menu id="PostContextMenu"
Orientation="Vertical"
DefaultGroupCssClass="CommonContextMenuGroup"
DefaultItemLookID="DefaultItemLook"
DefaultGroupItemSpacing="1"
EnableViewState="false"
ContextMenu="Custom"
runat="server">
<ItemLooks>
<CA:ItemLook LookID="DefaultItemLook" CssClass="CommonContextMenuItem" HoverCssClass="CommonContextMenuItemHover" ExpandedCssClass="CommonContextMenuItemHover" LabelPaddingLeft="10" LabelPaddingRight="10" LabelPaddingTop="3" LabelPaddingBottom="4" />
</ItemLooks>
</CA:Menu>
</div>
</div>
</td>
<td width="100%" id="PostContainerArea">
<iframe runat="server" id="PostContainer" style="width: 100%; height: 100%;" border="0" frameborder="0"></iframe>
</td>
</tr>
</table>
<script language="javascript">
try
{
var iframe = document.getElementById('<%=PostContainer.ClientID%>');
if (iframe && iframe.contentWindow && iframe.contentWindow.location != iframe.src)
iframe.contentWindow.location = iframe.src;
}
catch (err)
{
}
setTimeout(detectInvalidIframeContent, 999);
function detectInvalidIframeContent()
{
try
{
var iframe = document.getElementById('<%=PostContainer.ClientID%>');
if (iframe && iframe.contentWindow)
{
var url = iframe.contentWindow.location.href;
if (url.toLowerCase().indexOf('http://') > -1 || url.toLowerCase().indexOf('https://') > -1)
{
var re = new RegExp('<%=CommunityServer.Discussions.Controls.PostThreadedView.ValidPostWindowUrlPattern%>', 'i');
if (!re.test(url))
{
window.top.location = url;
return;
}
}
}
}
catch(err)
{
}
setTimeout(detectInvalidIframeContent, 249);
}
setTimeout(detectWindowSize, 999);
var lastHeight = -1;
var lastWidth = -1;
function detectWindowSize()
{
if (typeof(window.innerWidth) == 'number')
{
width = window.innerWidth;
height = window.innerHeight;
}
else if (document.documentElement && (document.documentElement.clientWidth || document.documentElement.clientHeight))
{
width = document.documentElement.clientWidth;
height = document.documentElement.clientHeight;
}
else if (document.body && (document.body.clientWidth || document.body.clientHeight))
{
width = document.body.clientWidth;
height = document.body.clientHeight;
}
height -= 270;
if (height < 250)
height = 250;
if (lastHeight != height || lastWidth != width)
{
lastHeight = height;
lastWidth = width;
var postContainer = document.getElementById('<%= PostContainer.ClientID %>');
postContainer.style.height = height + 'px';
resizePostDisplayPane(height, document.getElementById('PostContainerArea').offsetWidth);
resizeTreeViewPane(height, document.getElementById('PostTreeArea').offsetWidth);
}
setTimeout(detectWindowSize, 999);
}
</script>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -