Я думаю, что это ошибка в Tab контейнер ...Это ошибка в контейнере табуляции?
Открытие новой вкладки с помощью Java или на стороне сервера метод JavaScript CREATETAB, когда новая вкладка содержит панель, которая устанавливается, чтобы быть IFrame, указывающий на другой XPage в той же базе данных всегда будет возникать перезагрузка XPage после загрузки примерно пяти или шести вкладок (в Chrome IE делает то же самое, но требует больше вкладок ...)
Если вкладка содержит iframe, который указывает на другую база данных, в которой XPage работает, отлично работает.
Код SSJS: getComponent("djTabContainer1").createTab({title:"New tab"});
;
Java-код
public static boolean createTab(UIDojoTabContainer tabContainer) {
try {
if (tabContainer == null) {
tabContainer = (UIDojoTabContainer) Utils.findComponent("TabContainer");
if (tabContainer == null) {
return false;
}
}
String tabTitle = null;
String url = null;
String unid = null;
UIDojoTabPane newTab = null;
// get default number from current project preferences
tabTitle = "My Tabpage";
url = Utils.GetXpageURL("tabpage.xsp");
// create a new Tab
newTab = new UIDojoTabPane();
newTab.setTitle(tabTitle);
newTab.setTabUniqueKey(new Random().toString());
newTab.setClosable(true);
newTab.setId("TabContainer_" + unid);
newTab.setStyleClass("myTabContainer");
Utils.WriteToConsole("setting style class on " + newTab.getTitle());
// newTab.setStyle("height:auto;width:auto; overflow-y: auto;border: 0px;");
// create new Panel
UIPanelEx newPanel = new UIPanelEx();
newPanel.setId("IFrame" + unid);
newPanel.setStyleClass("iframeClass");
// make an iFrame of this panel with our URL as src
newPanel.setTagName("iframe");
Attr property = new Attr();
property.setName("src");
property.setValue(url);
newPanel.addAttr(property);
// add Panel to our new Tab
newTab.getChildren().add(newPanel);
// add the new tab to our tab container
tabContainer.getChildren().add(newTab);
tabContainer.setSelectedTab(unid);
return true;
} catch (Exception ex) {
Utils.WriteToConsole("Unable to add a new Tab Page to the Tab Container (com.tlcc.Main.createTab)", ex);
return false;
}
}
XPage, на который ссылается в Src свойстве фрейма является очень простым ...
<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core">
<xp:button
value="Label"
id="button1">
</xp:button>
<xp:inputText id="inputText1"></xp:inputText></xp:view>
Когда XPage перезагружает он больше не имеет вкладок (кроме первой вкладки, которая была создана в XPage в начале) и не реагирует.
Говард
Per почти наверняка на правильном пути здесь. Определение «текущий XPage» также, вероятно, будет фактором. Когда вы сначала загружаете родительский XPage, это будет текущая страница. Но если вы загрузите еще один XPage в iFrame, я бы ожидал, что XPage в iFrame будет считаться текущей страницей, и в этом случае метод сохранения родительской страницы изменится на диск, как если бы вы перешли из родительского страницы на страницу iFrame. –
Это похоже на то, что я делаю в базе данных теста. Завтра попробуем «реальное» приложение. Благодаря Per !!!! – Howard