LOADING

DjVu.js Viewer

DjVu.js Viewer0.9.1.0

打开指向 .djvu 文件的链接。允许从本地磁盘打开文件。处理 标签。 **Описание на русском ниже**该扩展程序根本不收集任何数据。它是完全自主的(打开文件不需要互联网连接)。它需要访问第三方网站才能呈现嵌入文档( 标记)并打开指向 .

官方版无广告46

更新日期:2021年 8月 29日分类标签:语言:中文平台:

248KB 4 人已下载 手机查看

简介:
打开指向 .djvu 文件的链接。允许从本地磁盘打开文件。处理 <object> 和 <embed> 标签。 **Описание на русском ниже**该扩展程序根本不收集任何数据。它是完全自主的(打开文件不需要互联网连接)。它需要访问第三方网站才能呈现嵌入文档(<embed> 标记)并打开指向 .djvu 文件的链接(在任何网站上)。总的来说,该扩展是 DjVu.js 查看器的本地副本,可在 https://djvu.js.org/ 上获得。它允许您直接在浏览器中打开指向 .djvu 文件的链接(通过上下文菜单)和本地驱动器中的 .djvu 文件(使用查看器打开页面后,您可以选择一个文件)。此外,如果是间接(多文件)djvu 文档,您可以通过扩展将其捆绑到一个文件中。此外,它使用 .djvu 文件处理 <embed> 和 <object> 标签,并用查看器替换它们。因此,从某种意义上说,扩展可能是 Cuminas 原生 DjVu 插件的替代品。由于所有操作都在您的机器上执行,因此该扩展程序可以在没有 Internet 连接的情况下工作。 Google Chrome 版本的扩展程序允许通过浏览器直接打开本地文件(通过双击)!但是您必须启用扩展选项页面上的“允许访问文件 URL”选项。否则,新功能将无法使用。此外,在您尝试打开文件时浏览器应该已经启动。所有源代码都可以在 https://github.com/RussCoder/djvujs 上找到该扩展基于 DjVu.js - 允许在浏览器中直接处理 djvu 文件的库。该库仍在开发中,因此可能存在一些错误。如果您有一个使用扩展名错误打开的 djvu 文件,如果您将问题文件发送到 djvujs@yandex.ru 给我,我将非常感激 - 如果您这样做,我将能够修复错误并改进库,这是一个开源项目。 ======================= Расширение не собирает НИКАКИХ ДАННЫХ。 Оно полностью автономно (не нужен интернет, чтобы отобразить файл)。 достапкса纪飞Расширение является локальной копией DjVu.js Viewer который доступен на https://djvu.js.org/。 Расширение позволяет открывать ссылки на файлы djvu прямо в браузере (через контекстное меню, пункт Open with DjVu.js Viewer), а также просматривать файлы с диска (после того как Вы открыли вкладку с DjVu.js Viewer, можно выбрать файл через Choose file) . Вслучаемногофайловогоdjvuдокумента(间接djvu),естьвозможностьскачатьегоединымфайлом。 Кроме того, расширение обрабатывает <embed> 和 <object> теги с djvu-файлами и заменяет их на DjVu.js Viewer。 Следовательно, расширение может в некотором смысле служить заменой Cuminas (Caminova) DjVu 插件。 Так как все операции выполняются на вашем компьютере, расширение может работать и без соединения с Интерно Также локальные файлы можно открывать прямо браузером (через двойной клик)。 Но для этого надо включить опцию "Разрешить открывать локальные файлы по ссылкам" в настройках расши。 Иначе новая возможность не будет работать。 Кроме того,сам браузер должен быть уже запущен на момент открытия файла。 Исходный код доступен на https://github.com/RussCoder/djvujs Расширение основано на DjVu.js - библиотеке, которая позволяет работать с фалами djvu прямо в браузере。 Библиотека все еще находится в процессе разработки, поэтому возможно наличие некоторых ошибок。 Если Вы встретили файл, который некорректно открывается данным приложением, то, пожалуйста, отправьте его на djvujs@yandex.ru - если Вы это сделаете, то у меня будет возможность исправить ошибки и улучшить библиотеку DjVu.js, которая является open source проектом.

相关资源

Seller Assistant App / Quick View
在亚马逊搜索页面上查看产品评级和竞争对手如果您搜索要在亚马逊上销售的产品,此扩展程序可帮助您在亚马逊搜索页面上做出正确的决定
arXiv title fixer
将 arXiv 上的论文标题设置为 pdf-tabs 的 。将选项卡的标题固定为 arXiv pdf 和摘要页面上的论文名称。如果使用像 The Great Suspender 这样的扩展程序,则特别有用。 </div> </div> </div> </div> </div> </div> <div class="col-4 col-md-3 col-lg-2 pb-1"> <div class="card-app default list-item"> <div class="media p-0 app-rounded" style="background-image: linear-gradient(130deg, #f9f9f9, #e8e8e8);"> <a class="media-content" href="https://chrome.nanbk.com/chrome/42976.html" target="_blank" data-bg="url(https://cdn1.nanbk.com/file/logo62031/logo.jpg)" style="background-size: 100%"></a> </div> <div class="list-content text-center pt-2"> <div class="list-body "> <a href="https://chrome.nanbk.com/chrome/42976.html" target="_blank" class=" list-title text-md overflowClip_1"> iconfont-helper </a> <div class="mt-1"> <div class="list-subtitle text-muted text-xs overflowClip_1"> 支持iconfont一键添加购物车、批量下载、在线批量改色、一键复制等功能。http://github.com/dawangraomingv1.2增加图标一键复制功能;增加图像尺寸记录上次设置的数值功能;增加一键设置当前页面中所有图标的颜色功能。------v1.1支持PNG、SVG、JPG、WEBP类型下载;增 </div> </div> </div> </div> </div> </div> <div class="col-4 col-md-3 col-lg-2 pb-1"> <div class="card-app default list-item"> <div class="media p-0 app-rounded" style="background-image: linear-gradient(130deg, #f9f9f9, #e8e8e8);"> <a class="media-content" href="https://chrome.nanbk.com/chrome/55543.html" target="_blank" data-bg="url(https://cdn1.nanbk.com/file/logo115453/logo.jpg)" style="background-size: 100%"></a> </div> <div class="list-content text-center pt-2"> <div class="list-body "> <a href="https://chrome.nanbk.com/chrome/55543.html" target="_blank" class=" list-title text-md overflowClip_1"> MindParse </a> <div class="mt-1"> <div class="list-subtitle text-muted text-xs overflowClip_1"> 用于跟踪习惯目标、日常任务、心情和生产力的 Chrome 扩展程序。 MindParse 是一个效率更高的生产力应用程序。它的功能将健康、保健和生产力的不同元素整合到一个平台中。安装后,每次打开 Chrome 选项卡时,此扩展程序都会打开一个仪表板页面,让用户可以轻松查看他们的任务、目标、心情和工作效率。这大大增 </div> </div> </div> </div> </div> </div> <div class="col-4 col-md-3 col-lg-2 pb-1"> <div class="card-app default list-item"> <div class="media p-0 app-rounded" style="background-image: linear-gradient(130deg, #f9f9f9, #e8e8e8);"> <a class="media-content" href="https://chrome.nanbk.com/chrome/55562.html" target="_blank" data-bg="url(https://cdn1.nanbk.com/file/logo115784/logo.jpg)" style="background-size: 100%"></a> </div> <div class="list-content text-center pt-2"> <div class="list-body "> <a href="https://chrome.nanbk.com/chrome/55562.html" target="_blank" class=" list-title text-md overflowClip_1"> CiteGen </a> <div class="mt-1"> <div class="list-subtitle text-muted text-xs overflowClip_1"> 使用 reFill 从当前页面生成维基百科引文。此扩展程序添加了一个工具栏按钮,可从当前页面生成 Wikipedia 引文。当前页面的 URL 被发送到托管在 Wikimedia Tool Labs 上的 reFill 工具并由其访问。 </div> </div> </div> </div> </div> </div> <div class="col-4 col-md-3 col-lg-2 pb-1"> <div class="card-app default list-item"> <div class="media p-0 app-rounded" style="background-image: linear-gradient(130deg, #f9f9f9, #e8e8e8);"> <a class="media-content" href="https://chrome.nanbk.com/chrome/52519.html" target="_blank" data-bg="url(https://cdn1.nanbk.com/file/logo102329/logo.jpg)" style="background-size: 100%"></a> </div> <div class="list-content text-center pt-2"> <div class="list-body "> <a href="https://chrome.nanbk.com/chrome/52519.html" target="_blank" class=" list-title text-md overflowClip_1"> RateMyProf Quick Search </a> <div class="mt-1"> <div class="list-subtitle text-muted text-xs overflowClip_1"> 查找教授的更快更简单的方法。一个非常简单且轻量级的插件,可以更轻松地在 RateMyProfessors.com 上查找您的教授。在卡尔加里大学测试,但应该适用于任何学校。 2017 年 5 月 18 日更新:如果尚未设置,现在应该询问大学名称。 2017 年 5 月 17 日更新:您现在可以突出显示全名,应用程 </div> </div> </div> </div> </div> </div> </div> <!-- comments --><div id="comments" class="comments"> <h2 id="comments-list-title" class="comments-title h5 mx-1 my-4"> <i class="iconfont icon-comment"></i> <span class="noticom"> <a href="https://chrome.nanbk.com/chrome/30131.html#respond" class="comments-title" >暂无评论</a> </span> </h2> <div class="card"> <div class="card-body"> <div id="respond_box"> <div id="respond" class="comment-respond"> <form id="commentform" class="text-sm mb-4"> <div class="visitor-avatar d-flex flex-fill mb-2"> <img class="v-avatar rounded-circle" src="https://chrome.nanbk.com/wp-content/themes/onenav/images/gravatar.jpg"> </div> <div class="comment-textarea mb-3"> <textarea name="comment" id="comment" class="form-control" placeholder="输入评论内容..." tabindex="4" cols="50" rows="3"></textarea> </div> <div id="comment-author-info" class="row row-sm"> <div class="col-12 col-md-6 mb-3"><input type="text" name="author" id="author" class="form-control" value="" size="22" placeholder="昵称" tabindex="2"/></div> <div class="col-12 col-md-6 mb-3"><input type="text" name="email" id="email" class="form-control" value="" size="22" placeholder="邮箱" tabindex="3" /></div> </div> <div class="com-footer d-flex justify-content-end flex-wrap"> <input type="hidden" id="_wpnonce" name="_wpnonce" value="d15521aef2" /><input type="hidden" name="_wp_http_referer" value="/chrome/30131.html" /> <a rel="nofollow" id="cancel-comment-reply-link" style="display: none;" href="javascript:;" class="btn btn-light custom_btn-outline mx-2">再想想</a> <button class="btn btn-dark custom_btn-d ml-2" type="submit" id="submit">发表评论</button> <input type="hidden" name="action" value="ajax_comment"/> <input type='hidden' name='comment_post_ID' value='30131' id='comment_post_ID' /><input type='hidden' name='comment_parent' id='comment_parent' value='0' /> </div> </form> <div class="clear"></div> </div> </div> <div id="loading-comments"><span></span></div> <div class="not-comment card"><div class="card-body nothing text-center color-d">暂无评论...</div></div> </div> </div></div><!-- comments end --> </div><!-- content-layout end --> </div><!-- content-wrap end --> </main></div> <div class="main-footer footer-stick container container-fluid customize-width pt-4 pb-3 footer-type-big"> <div class="footer-inner card rounded-xl m-0"> <div class="footer-text card-body text-muted text-center text-md-left"> <div class="row my-4"> <div class="col-12 col-md-4 mb-4 mb-md-0"> <a class="footer-logo" href="https://chrome.nanbk.com" title="片刻插件"> <img src="https://chrome.nanbk.com/wp-content/uploads/2023/08/template-1.png" class="logo-light mb-3" alt="片刻插件" height="40"> <img src="https://chrome.nanbk.com/wp-content/uploads/2023/08/template.png" class="logo-dark d-none mb-3" alt="片刻插件" height="40"> </a> <div class="text-sm">本站资源均来源网络,仅供学习交流,版权归原作者所有,不代表我站观点.若侵犯到您的权利,请及时联系我们删除.<br/><a href="https://chrome.google.com/webstore" target="_blank" rel="noopener">谷歌插件官方商店</a></div> </div> <div class="col-12 col-md-5 mb-4 mb-md-0"> <p class="footer-links text-sm mb-3"><a href="https://chrome.nanbk.com/links">友链申请</a><a href="https://chrome.nanbk.com/recommend">推荐插件</a><a href="https://chrome.nanbk.com/help">使用教程</a></p> <div class="footer-social"> <a class="rounded-circle bg-light" href="mailto:isnanyg@gmail.com" target="_blank" data-toggle="tooltip" data-placement="top" title="Email" rel="external noopener nofollow"> <i class="iconfont icon-email"></i> </a> </div> </div> <div class="col-12 col-md-3 text-md-right mb-4 mb-md-0"> </div> </div> <div class="footer-copyright text-xs"> Copyright © 2025 <a href="https://chrome.nanbk.com" title="片刻插件" class="" rel="home">片刻插件</a> <a href="https://beian.miit.gov.cn/" target="_blank" class="" rel="link noopener">湘ICP备18002965号-2</a>  </div> </div> </div></div></div><!-- main-content end --><footer> <div id="footer-tools" class="d-flex flex-column"> <a href="javascript:" id="go-to-up" class="btn rounded-circle go-up m-1" rel="go-top"> <i class="iconfont icon-to-up"></i> </a> <a href="javascript:" id="switch-mode" class="btn rounded-circle switch-dark-mode m-1" data-toggle="tooltip" data-placement="left" title="夜间模式"> <i class="mode-ico iconfont icon-light"></i> </a> </div></footer><script type="text/javascript" id="rocket-browser-checker-js-after">/* <![CDATA[ */"use strict";var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}();function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}var RocketBrowserCompatibilityChecker=function(){function RocketBrowserCompatibilityChecker(options){_classCallCheck(this,RocketBrowserCompatibilityChecker),this.passiveSupported=!1,this._checkPassiveOption(this),this.options=!!this.passiveSupported&&options}return _createClass(RocketBrowserCompatibilityChecker,[{key:"_checkPassiveOption",value:function(self){try{var options={get passive(){return!(self.passiveSupported=!0)}};window.addEventListener("test",null,options),window.removeEventListener("test",null,options)}catch(err){self.passiveSupported=!1}}},{key:"initRequestIdleCallback",value:function(){!1 in window&&(window.requestIdleCallback=function(cb){var start=Date.now();return setTimeout(function(){cb({didTimeout:!1,timeRemaining:function(){return Math.max(0,50-(Date.now()-start))}})},1)}),!1 in window&&(window.cancelIdleCallback=function(id){return clearTimeout(id)})}},{key:"isDataSaverModeOn",value:function(){return"connection"in navigator&&!0===navigator.connection.saveData}},{key:"supportsLinkPrefetch",value:function(){var elem=document.createElement("link");return elem.relList&&elem.relList.supports&&elem.relList.supports("prefetch")&&window.IntersectionObserver&&"isIntersecting"in IntersectionObserverEntry.prototype}},{key:"isSlowConnection",value:function(){return"connection"in navigator&&"effectiveType"in navigator.connection&&("2g"===navigator.connection.effectiveType||"slow-2g"===navigator.connection.effectiveType)}}]),RocketBrowserCompatibilityChecker}();/* ]]> */</script><script type="text/javascript" id="rocket-delay-js-js-after">/* <![CDATA[ */(function() {"use strict";var e=function(){function n(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(e,t,r){return t&&n(e.prototype,t),r&&n(e,r),e}}();function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var t=function(){function r(e,t){n(this,r),this.attrName="data-rocketlazyloadscript",this.browser=t,this.options=this.browser.options,this.triggerEvents=e,this.userEventListener=this.triggerListener.bind(this)}return e(r,[{key:"init",value:function(){this._addEventListener(this)}},{key:"reset",value:function(){this._removeEventListener(this)}},{key:"_addEventListener",value:function(t){this.triggerEvents.forEach(function(e){return window.addEventListener(e,t.userEventListener,t.options)})}},{key:"_removeEventListener",value:function(t){this.triggerEvents.forEach(function(e){return window.removeEventListener(e,t.userEventListener,t.options)})}},{key:"_loadScriptSrc",value:function(){var r=this;document.querySelectorAll("script["+this.attrName+"]").forEach(function(e){var t=e.getAttribute(r.attrName);e.setAttribute("src",t),e.removeAttribute(r.attrName)}),this.reset()}},{key:"triggerListener",value:function(){this._loadScriptSrc(),this._removeEventListener(this)}}],[{key:"run",value:function(){RocketBrowserCompatibilityChecker&&new r(["keydown","mouseover","touchmove","touchstart"],new RocketBrowserCompatibilityChecker({passive:!0})).init()}}]),r}();t.run();}());/* ]]> */</script><script type="text/javascript" id="rocket-preload-links-js-extra">/* <![CDATA[ */var RocketPreloadLinksConfig = {"excludeUris":"\/(.+\/)?feed\/?.+\/?|\/(?:.+\/)?embed\/|\/(index\\.php\/)?wp\\-json(\/.*|$)|\/wp-admin|\/logout|\/wp-login.php","usesTrailingSlash":"","imageExt":"jpg|jpeg|gif|png|tiff|bmp|webp|avif","fileExt":"jpg|jpeg|gif|png|tiff|bmp|webp|avif|php|pdf|html|htm","siteUrl":"https:\/\/chrome.nanbk.com","onHoverDelay":"100","rateThrottle":"3"};/* ]]> */</script><script type="text/javascript" id="rocket-preload-links-js-after">/* <![CDATA[ */(function() {"use strict";var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e=function(){function i(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(e,t,n){return t&&i(e.prototype,t),n&&i(e,n),e}}();function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var t=function(){function n(e,t){i(this,n),this.browser=e,this.config=t,this.options=this.browser.options,this.prefetched=new Set,this.eventTime=null,this.threshold=1111,this.numOnHover=0}return e(n,[{key:"init",value:function(){!this.browser.supportsLinkPrefetch()||this.browser.isDataSaverModeOn()||this.browser.isSlowConnection()||(this.regex={excludeUris:RegExp(this.config.excludeUris,"i"),images:RegExp(".("+this.config.imageExt+")$","i"),fileExt:RegExp(".("+this.config.fileExt+")$","i")},this._initListeners(this))}},{key:"_initListeners",value:function(e){-1<this.config.onHoverDelay&&document.addEventListener("mouseover",e.listener.bind(e),e.listenerOptions),document.addEventListener("mousedown",e.listener.bind(e),e.listenerOptions),document.addEventListener("touchstart",e.listener.bind(e),e.listenerOptions)}},{key:"listener",value:function(e){var t=e.target.closest("a"),n=this._prepareUrl(t);if(null!==n)switch(e.type){case"mousedown":case"touchstart":this._addPrefetchLink(n);break;case"mouseover":this._earlyPrefetch(t,n,"mouseout")}}},{key:"_earlyPrefetch",value:function(t,e,n){var i=this,r=setTimeout(function(){if(r=null,0===i.numOnHover)setTimeout(function(){return i.numOnHover=0},1e3);else if(i.numOnHover>i.config.rateThrottle)return;i.numOnHover++,i._addPrefetchLink(e)},this.config.onHoverDelay);t.addEventListener(n,function e(){t.removeEventListener(n,e,{passive:!0}),null!==r&&(clearTimeout(r),r=null)},{passive:!0})}},{key:"_addPrefetchLink",value:function(i){return this.prefetched.add(i.href),new Promise(function(e,t){var n=document.createElement("link");n.rel="prefetch",n.href=i.href,n.onload=e,n.onerror=t,document.head.appendChild(n)}).catch(function(){})}},{key:"_prepareUrl",value:function(e){if(null===e||"object"!==(void 0===e?"undefined":r(e))||!1 in e||-1===["http:","https:"].indexOf(e.protocol))return null;var t=e.href.substring(0,this.config.siteUrl.length),n=this._getPathname(e.href,t),i={original:e.href,protocol:e.protocol,origin:t,pathname:n,href:t+n};return this._isLinkOk(i)?i:null}},{key:"_getPathname",value:function(e,t){var n=t?e.substring(this.config.siteUrl.length):e;return n.startsWith("/")||(n="/"+n),this._shouldAddTrailingSlash(n)?n+"/":n}},{key:"_shouldAddTrailingSlash",value:function(e){return this.config.usesTrailingSlash&&!e.endsWith("/")&&!this.regex.fileExt.test(e)}},{key:"_isLinkOk",value:function(e){return null!==e&&"object"===(void 0===e?"undefined":r(e))&&(!this.prefetched.has(e.href)&&e.origin===this.config.siteUrl&&-1===e.href.indexOf("?")&&-1===e.href.indexOf("#")&&!this.regex.excludeUris.test(e.href)&&!this.regex.images.test(e.href))}}],[{key:"run",value:function(){"undefined"!=typeof RocketPreloadLinksConfig&&new n(new RocketBrowserCompatibilityChecker({capture:!0,passive:!0}),RocketPreloadLinksConfig).init()}}]),n}();t.run();}());/* ]]> */</script><script type="text/javascript" id="wp-postviews-cache-js-extra">/* <![CDATA[ */var viewsCacheL10n = {"admin_ajax_url":"https:\/\/chrome.nanbk.com\/wp-admin\/admin-ajax.php","post_id":"30131"};/* ]]> */</script> <!-- 自定义代码 --><!-- end 自定义代码 --><script src="https://chrome.nanbk.com/wp-content/cache/min/1/e1a12a1793920583f8ea6fac356f47d6.js" data-minify="1" defer></script></body></html> <!--压缩前的大小: 61111 bytes; 压缩后的大小: 51814 bytes; 节约:15.21% --> <!-- This website is like a Rocket, isn't it? Performance optimized by WP Rocket. Learn more: https://wp-rocket.me -->