Skip to content
This repository has been archived by the owner on Jun 15, 2021. It is now read-only.

Support for older browsers #151

Open
OliverJAsh opened this issue May 1, 2014 · 2 comments
Open

Support for older browsers #151

OliverJAsh opened this issue May 1, 2014 · 2 comments

Comments

@OliverJAsh
Copy link
Contributor

Off the top of my head, these are the APIs we use that will likely not work in older browsers:

Selection and Range APIs

Could we use Rangy? This is a polyfill for Range (AFAIK).

Commands

Note that a future version of Scribe could altogether scrap the commands provided by the document.execCommand API. Our current approach is to use them and patch any browser inconsistencies, of which there are many due to the lack of standards. We could avoid having to write patches if we had complete ownership of the commands, and therefore they would work across all browsers.

On the other hand, if we want to embrace the future of standards, there is some work in progress to standardise the commands. Theoretically then we would be talking about two versions of Scribe – a legacy version with custom commands to support older browsers (which shouldn't be too hard leveraging the APIs Scribe provides) and a modern version which uses the upcoming standard when it arrives in the browser.

I’ve been meaning to reach out to the public-webapps mailing list, to send them the list of browser inconsistencies concerning the editing APIs, but I haven’t had time yet. I think there’s great potential for us to help move things forward in this space, so please don’t hesitate to get on board!

@mitar
Copy link
Contributor

mitar commented Jun 12, 2014

So Selection and Range is more or less OK in IE 10 I think. The issue is about observer (do you really need that, doesn't current transactions work pretty well as well?) and for execCommand you would probably need to implement some manually.

@OliverJAsh
Copy link
Contributor Author

The formatters are only run by the DOM MutationObserver.

We introduced DOM MutationObservers in this PR (to fix a bug): #97. They are now integral to Scribe, ensuring that the HTML is never inconsistent.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

2 participants