DuckDuckGo RTL

Adds RTL support to DuckDuckGo

  1. // DuckDuckGo RTL
  2. // 2018-11-10
  3. // Copyright (c) 2018s Guy Sheffer (GuySoft)
  4. // Based on work by Yehuda Bar-Nir NewTwitter https://userscripts-mirror.org/scripts/show/90965
  5. // Which came from "Twitter Unicode Hashtags + RTL support" - https://userscripts-mirror.org/scripts/show/82584
  6. // and themiddleman: "runOnTweets" - https://userscripts-mirror.org/scripts/show/82719
  7. // -- Thanks guys.
  8. //
  9. // Permission is hereby granted, free of charge, to any person
  10. // obtaining a copy of this software and associated documentation
  11. // files (the "Software"), to deal in the Software without
  12. // restriction, including without limitation the rights to use,
  13. // copy, modify, merge, publish, distribute, sublicense, and/or sell
  14. // copies of the Software, and to permit persons to whom the
  15. // Software is furnished to do so, subject to the following
  16. // conditions:
  17. //
  18. // The above copyright notice and this permission notice shall be
  19. // included in all copies or substantial portions of the Software.
  20. //
  21. // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
  22. // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
  23. // OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
  24. // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
  25. // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
  26. // WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
  27. // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
  28. // OTHER DEALINGS IN THE SOFTWARE.
  29. //
  30. // ==UserScript==
  31. // @name DuckDuckGo RTL
  32. // @namespace https://duckduckgo.com/
  33. // @description Adds RTL support to DuckDuckGo
  34. // @include http://duckduckgo.com/*
  35. // @include https://duckduckgo.com/*
  36. // @grant none
  37. // @version 0.0.1.20181110132943
  38. // ==/UserScript==
  39.  
  40. function pageRunner(e) {
  41. var elements=["result__body links_main links_deep"];
  42. //elements.push("UFICommentContent");// comment in group
  43. for (var j=0; j < elements.length; j++) {
  44. if(e.target && e.target.getElementsByClassName){
  45. var statuses = e.target.getElementsByClassName(elements[j]);
  46. if (statuses != null && statuses.length > 0) {
  47. var isThereRTLChars=/[\u0590-\u05ff\u0600-\u06ff]/;
  48. for (var i = 0; i < statuses.length; i++) {
  49. var tweetText = statuses[i].innerHTML;
  50. if (isThereRTLChars.test(tweetText)) {
  51. statuses[i].style.direction="rtl";
  52. statuses[i].style.textAlign="right";
  53. }
  54. else{
  55. statuses[i].style.direction="ltr";
  56. statuses[i].style.textAlign="left";
  57. }
  58. }
  59. }
  60. }
  61. }
  62. }
  63.  
  64. runOnPage();
  65. pageRunner();
  66.  
  67. function runOnPage(callback) {
  68. document.addEventListener("DOMNodeInserted", pageRunner, true);
  69. }

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址