Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix disqus lazyload not working in Safari #406

Merged
merged 2 commits into from Sep 14, 2018

Conversation

Projects
None yet
2 participants
@daya0576
Copy link
Contributor

daya0576 commented Sep 3, 2018

PR Checklist

Please check if your PR fulfills the following requirements:

  • The commit message follows our guidelines.
  • Tests for the changes have been added (for bug fixes / features).
    • Muse | Mist have been tested.
    • Pisces | Gemini have been tested.
  • Docs have been added / updated (for bug fixes / features).

PR Type

What kind of change does this PR introduce?

  • Bugfix.
  • Feature.
  • Code style update (formatting, local variables).
  • Refactoring (no functional changes, no api changes).
  • Build related changes.
  • CI related changes.
  • Documentation content changes.
  • Other... Please describe:

What is the current behavior?

document.documentElement.scrollTop always return 0 in safari, so Disqus will never pop up.
image

What is the new behavior?

  • Safari behaves as correct as Chrome.
  • fetching scrollTop in realtime to avoid some error, e.g. images lazy-loading or manually resizing browser window.

Does this PR introduce a breaking change?

  • Yes.
  • No.

p.s. PR from a back-end developer, not so familiar with front-end code. Feel free to give me some comments XD. Cheers.

@daya0576 daya0576 changed the title Fix/disqus lazyload in safari Fix/Disqus lazyload not working in Safari Sep 3, 2018

@daya0576 daya0576 force-pushed the daya0576:fix/disqus_lazyload_in_safari branch from aa0222e to 25f8a24 Sep 3, 2018

@daya0576 daya0576 changed the title Fix/Disqus lazyload not working in Safari Fix disqus lazyload not working in Safari Sep 3, 2018

@daya0576

This comment has been minimized.

Copy link
Contributor Author

daya0576 commented Sep 4, 2018

@ivan-nginx

This comment has been minimized.

Copy link
Member

ivan-nginx commented Sep 13, 2018

Can u please show live demo with this bugfix?

@daya0576

This comment has been minimized.

Copy link
Contributor Author

daya0576 commented Sep 14, 2018

Can u please show live demo with this bugfix?

Sure, check this video for detail.
https://youtu.be/njDn5PPtb04

@ivan-nginx

This comment has been minimized.

Copy link
Member

ivan-nginx commented Sep 14, 2018

And other schemes like Gemini have same behaviour?

@daya0576

This comment has been minimized.

Copy link
Contributor Author

daya0576 commented Sep 14, 2018

And other schemes like Gemini have same behaviour?

Yes, the root reason: document.documentElement.scrollTop always return 0 in safari, so Disqus will never pop up.

@ivan-nginx ivan-nginx merged commit 34c061c into theme-next:master Sep 14, 2018

3 checks passed

Codacy/PR Quality Review Up to standards. A positive pull request.
Details
continuous-integration/appveyor/pr AppVeyor build succeeded
Details
continuous-integration/travis-ci/pr The Travis CI build passed
Details

@ivan-nginx ivan-nginx added this to the v6.5.0 milestone Sep 14, 2018

@ivan-nginx ivan-nginx added Bug Fix and removed Need Verify labels Sep 14, 2018

@ivan-nginx

This comment has been minimized.

Copy link
Member

ivan-nginx commented Sep 14, 2018

Thanks! 👍

Jona-lee added a commit to Jona-lee/hexo-theme-next that referenced this pull request Oct 10, 2018

Fix disqus lazyload not working in Safari (theme-next#406)
* Fix document.documentElement.scrollTop always return 0 in safari

* Style two comments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.