96 {
97 return "<a href=\"#\" onClick=\""
98 "let key = '" +
100 "'; "
101 "if (!localStorage.getItem(key)) "
102 " localStorage.setItem(key, key + '-' + Math.random().toString(36).substr(2, 6)); "
103 "let uniqueId = localStorage.getItem(key); "
104 "if (!window._openWindows) window._openWindows = {}; "
105 "if (!window._openWindows[uniqueId] || window._openWindows[uniqueId].closed) { "
106 " window._openWindows[uniqueId] = window.open('" +
107 url + "', uniqueId, 'width=" + std::to_string(width) + ", height=" + std::to_string(height) +
108 ",location=no, menubar=no, status=no, toolbar=no'); "
109 "} else { "
110 " window._openWindows[uniqueId].focus(); "
111 "} return false;\" "
112 "style=\"color:inherit;\">" +
113 text + "</a>";
114 }
static std::string windowId(const std::string &clientId)