mirror of
https://github.com/webrecorder/pywb.git
synced 2025-03-15 00:03:28 +01:00
Page title and favicon display (#356)
Set favicon and title from top-most replay frame to the top frame (work from @Devhercule): Favicon display in no-proxy mode with framed_replay: true. When "iframe": "#replay_iframe", the icon of the tab in question is not visible (or a wrong icon is displayed provided from cache memor ) because of the presence of an added frame (#replay_iframe). The modification allows to get the replay_iframe favicon and pass it to the main frame to be correctly displayed in the tab. (see Issue #342)
This commit is contained in:
parent
538ce88abc
commit
dd76ed2818
@ -109,6 +109,23 @@ function ContentFrame(content_info) {
|
||||
|
||||
this.handle_message = function(state) {
|
||||
var type = state.wb_type;
|
||||
|
||||
if (type === 'load') {
|
||||
window.document.title = state.title + ' ' + state.ts;
|
||||
var head = document.querySelector('head');
|
||||
var oldLink = document.querySelectorAll("link[rel*='icon']");
|
||||
for (var i = 0; i < oldLink.length; i++) {
|
||||
head.removeChild(oldLink[i]);
|
||||
}
|
||||
var len = state.icons.length;
|
||||
for (var i = 0; i < len; i++) {
|
||||
var icon = state.icons[i];
|
||||
var link = document.createElement('link');
|
||||
link.rel = icon.rel;
|
||||
link.href = icon.href;
|
||||
head.appendChild(link);
|
||||
}
|
||||
}
|
||||
|
||||
if (type == "load" || type == "replace-url") {
|
||||
this.set_url(state);
|
||||
|
@ -3619,15 +3619,26 @@ var _WBWombat = function($wbwindow, wbinfo) {
|
||||
return;
|
||||
}
|
||||
|
||||
var message = {
|
||||
"url": $wbwindow.WB_wombat_location.href,
|
||||
"ts": wbinfo.timestamp,
|
||||
"request_ts": wbinfo.request_ts,
|
||||
"is_live": wbinfo.is_live,
|
||||
"title": $wbwindow.document ? $wbwindow.document.title : "",
|
||||
"readyState": $wbwindow.document.readyState,
|
||||
"wb_type": "load"
|
||||
}
|
||||
var icons = [];
|
||||
var hicons = $wbwindow.document.querySelectorAll("link[rel*='icon']");
|
||||
for (var i = 0; i < hicons.length; i++) {
|
||||
var hicon = hicons[i];
|
||||
icons.push({
|
||||
rel: hicon.rel,
|
||||
href: wb_getAttribute.call(hicon, 'href')
|
||||
})
|
||||
}
|
||||
|
||||
var message = {
|
||||
"icons": icons,
|
||||
"url": $wbwindow.WB_wombat_location.href,
|
||||
"ts": wbinfo.timestamp,
|
||||
"request_ts": wbinfo.request_ts,
|
||||
"is_live": wbinfo.is_live,
|
||||
"title": $wbwindow.document ? $wbwindow.document.title : "",
|
||||
"readyState": $wbwindow.document.readyState,
|
||||
"wb_type": "load"
|
||||
}
|
||||
|
||||
send_top_message(message);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user