diff --git a/pywb/static/wb.css b/pywb/static/wb.css
index 3a36f54a..90c62927 100644
--- a/pywb/static/wb.css
+++ b/pywb/static/wb.css
@@ -1,16 +1,12 @@
-#_wayback_banner
+#_wb_plain_banner, #_wb_frame_top_banner
{
display: block !important;
top: 0px !important;
left: 0px !important;
font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif !important;
- position: fixed !important;
- /* padding: 4px !important; */
- height: 40px !important;
width: 100% !important;
font-size: 24px !important;
-/* border: 1px solid !important; */
background-color: lightYellow !important;
color: black !important;
text-align: center !important;
@@ -18,6 +14,20 @@
line-height: normal !important;
}
+#_wb_plain_banner
+{
+ position: absolute !important;
+ padding: 4px !important;
+ border: 1px solid !important;
+}
+
+#_wb_frame_top_banner
+{
+ position: fixed !important;
+ border: 0px;
+ height: 40px !important;
+}
+
.wb_iframe_div
{
width: 100%;
@@ -35,18 +45,3 @@
height: 100%;
border: 4px solid firebrick;
}
-
-.wb_iframe_all
-{
- width: 100%;
- height: 100%;
- border: none;
- background-color: firebrick;
- padding: 44px 4px 4px 4px;
- box-sizing: border-box;
- -moz-box-sizing: border-box;
- -webkit-box-sizing: border-box;
-}
-
-
-
diff --git a/pywb/static/wb.js b/pywb/static/wb.js
index 41343f81..e10a522e 100644
--- a/pywb/static/wb.js
+++ b/pywb/static/wb.js
@@ -18,9 +18,8 @@ This file is part of pywb.
*/
function init_banner() {
- var BANNER_ID = "_wayback_banner";
-
- var banner = document.getElementById(BANNER_ID);
+ var PLAIN_BANNER_ID = "_wb_plain_banner";
+ var FRAME_BANNER_ID = "_wb_frame_top_banner";
if (wbinfo.is_embed) {
return;
@@ -30,9 +29,17 @@ function init_banner() {
return;
}
+ if (wbinfo.is_frame) {
+ bid = FRAME_BANNER_ID;
+ } else {
+ bid = PLAIN_BANNER_ID;
+ }
+
+ var banner = document.getElementById(bid);
+
if (!banner) {
banner = document.createElement("wb_div");
- banner.setAttribute("id", BANNER_ID);
+ banner.setAttribute("id", bid);
banner.setAttribute("lang", "en");
text = "This is an archived page ";
@@ -90,9 +97,11 @@ var detect_on_init = function() {
add_event("readystatechange", detect_on_init, document);
-/*
-if ((window.self == window.top) && !wbinfo.is_embed && window.location.href.indexOf("/rewrite/fr_/") == -1) {
- new_loc = window.location.href.replace("/rewrite/", "/rewrite/fr_/");
- window.location.replace(new_loc);
+
+if (wbinfo.is_frame_mp && wbinfo.canon_url &&
+ (window.self == window.top) &&
+ window.location.href != wbinfo.canon_url) {
+
+ console.log('frame');
+ window.location.replace(wbinfo.canon_url);
}
-*/
diff --git a/pywb/static/wombat.js b/pywb/static/wombat.js
index 457d7d5a..873d0c1a 100644
--- a/pywb/static/wombat.js
+++ b/pywb/static/wombat.js
@@ -69,7 +69,7 @@ WB_wombat_init = (function() {
}
//============================================
- var rewrite_url = rewrite_url_debug;
+ var rewrite_url = rewrite_url_;
function rewrite_url_debug(url) {
rewritten = rewrite_url_(url);
diff --git a/pywb/ui/frame_insert.html b/pywb/ui/frame_insert.html
index 71ddbd31..3ba9a406 100644
--- a/pywb/ui/frame_insert.html
+++ b/pywb/ui/frame_insert.html
@@ -7,6 +7,7 @@
wbinfo.is_embed = false;
wbinfo.prefix = "{{ wbrequest.wb_prefix }}";
wbinfo.capture_url = "{{ url }}";
+ wbinfo.is_frame = true;
diff --git a/pywb/webapp/pywb_init.py b/pywb/webapp/pywb_init.py
index cb0edee4..bc942966 100644
--- a/pywb/webapp/pywb_init.py
+++ b/pywb/webapp/pywb_init.py
@@ -4,6 +4,7 @@ from pywb.framework.archivalrouter import ArchivalRouter, Route
from pywb.framework.proxy import ProxyArchivalRouter
from pywb.framework.wbrequestresponse import WbRequest
from pywb.framework.memento import MementoRequest
+from pywb.framework.basehandlers import BaseHandler
from pywb.warc.recordloader import ArcWarcRecordLoader
from pywb.warc.resolvingloader import ResolvingLoader
@@ -200,6 +201,10 @@ def create_wb_router(passed_config={}):
for name, value in collections.iteritems():
+ if isinstance(value, BaseHandler):
+ routes.append(Route(name, value))
+ continue
+
result = init_collection(value, config)
route_config, query_handler, ds_rules_file = result
diff --git a/pywb/webapp/rewrite_handler.py b/pywb/webapp/rewrite_handler.py
index 894aae39..ce672516 100644
--- a/pywb/webapp/rewrite_handler.py
+++ b/pywb/webapp/rewrite_handler.py
@@ -55,13 +55,6 @@ class RewriteHandler(WbUrlHandler): # pragma: no cover
req_headers)
code = response.status_code
- # remove transfer-encoding as raw stream
- # is already de-chunked
- try:
- del response.headers['transfer-encoding']
- except KeyError:
- pass
-
headers = response.headers.items()
stream = response.raw
@@ -126,18 +119,6 @@ class RewriteHandler(WbUrlHandler): # pragma: no cover
return WbResponse(status_headers, gen)
- def get_head_insert_func(self, wbrequest, cdx):
- # no head insert specified
- if not self.head_insert_view:
- return None
-
- def make_head_insert(rule):
- return (self.head_insert_view.
- render_to_string(wbrequest=wbrequest,
- cdx=cdx,
- rule=rule))
- return make_head_insert
-
def create_rewrite_app(): # pragma: no cover
routes = [Route('rewrite', RewriteHandler()),
Route('static/default', StaticHandler('pywb/static/'))
diff --git a/pywb/webapp/views.py b/pywb/webapp/views.py
index 9aedc230..84e21624 100644
--- a/pywb/webapp/views.py
+++ b/pywb/webapp/views.py
@@ -118,9 +118,13 @@ def add_env_globals(glb):
#=================================================================
class HeadInsertView(J2TemplateView):
def create_insert_func(self, wbrequest, cdx):
+
+ canon_url = wbrequest.wb_prefix + wbrequest.wb_url.to_str(mod='')
+
def make_head_insert(rule):
return (self.render_to_string(wbrequest=wbrequest,
cdx=cdx,
+ canon_url=canon_url,
rule=rule))
return make_head_insert