Giter VIP home page Giter VIP logo

Comments (5)

joseph avatar joseph commented on September 8, 2024

Monocle doesn't touch the request — it's straight from the mark-up to the browser. What does your BookData object look like?

from monocle.

joaosantos81 avatar joaosantos81 commented on September 8, 2024

With new version of Monocle (1.0.299), it seems to be working fine. Doing some more tests to be sure that this issue does not repro anymore.

Thanks
J. Santos

from monocle.

joaosantos81 avatar joaosantos81 commented on September 8, 2024

Hi,

I have been investigating more this issue and I realized that this issue is not related with the Monocle version. Instead, what is causing this issue is the implementation of getComponent function. In my case, I need to use Ajax to get the book contents so my implementation is:

 getComponent: function(cmptId)
{
    var response = $.ajax({
       type: 'GET',
       async: false,
       url: cmptId
     }).responseText;

    response = response.replace("<head>", "<head><base href='" + urlBase + "'/>");
    return response;
}

Regarding this implementation, from my tests, I concluded that:

  1. I had to append a BASE element in HTML response. Otherwise, I couldn't use relative paths when including images, CSS, etc in book sections HTML code.

  2. In Firefox, this approach does not work very well.
    a) From one hand, when using Offline features (to cache book contents), the Firefox offline bar (that ask if the user accept the offline assets) suddenly disappear. It usually happens when there are issues in web page html code. It only happens when I use Ajax to download the book contents. When using URLs, it works fine

b) On other hand, I realized that, even when using the BASE element, the Firefox performs duplicated HTTP requests to assets (images, CSSs). Some of there requests are correct but other ones use the root as the base URL (causing 404 errors on server).
Saying this, I would like to know if someone is using Ajax on getComponent implementation. If yes, there's any work around for issues I reported above?

Thanks for all
JSantos

from monocle.

joloco avatar joloco commented on September 8, 2024

I know this is an old thread, but in case anyone else needs help, here's my solution.

The XML file is delivered by a server-side script, which looks through the XML and turns all relative URLs into absolute ones, pointing back to the script itself. It retrieves the file requested, sets the right Content-Type for the type of file, then sends it to the browser.

Works pretty well!

from monocle.

joseph avatar joseph commented on September 8, 2024

Thanks for the update. I'm closing this on the basis that it's more or less a hazard of EPUB construction — it assumes files are being served from the root of the domain. If that's not the case for your reader, you may need to hack your source documents as per @joloco's suggestion.

from monocle.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.