我有这个JavaScript文件网址:
https://rawgit.com/Khan/tota11y/master/build/tota11y.min.js
(托管在GitHub上并通过RawGit传递),我想通过浏览器的控制台将其注入实时网页。
为了实现这一点,我可以动态创建一个<script>
元素并将其附加到DOM:
(function () {
var s = document.createElement('script');
s.src = 'https://rawgit.com/Khan/tota11y/master/build/tota11y.min.js';
document.body.appendChild(s);
}())
但这既不快也不容易。我想使用一个API,通过一个简单的调用来实现这一点,例如:
exec('https://rawgit.com/Khan/tota11y/master/build/tota11y.min.js')
Chrome或Firefox是否在其控制台中提供此类API(或类似内容)?
用例:在实时网页上快速测试GitHub上托管的JavaScript库。
答案 0 :(得分:9)
更新:The Developer Toolbar has been removed from Firefox Nightly as of 18th May 2018.
在Firefox中,您可以使用开发人员工具栏注入脚本。使用Shift+F2
打开并输入inject https://rawgit.com/Khan/tota11y/master/build/tota11y.min.js
答案 1 :(得分:0)
您需要从我看到的模块加载功能。你有两条路线:
使用像Require.js这样的模块加载器已经为您进行了这种动态加载。它强制您使用AMD风格的脚本。 This website更多地讨论了javascript中的模块。 require
对象将在控制台中可用,因为它是全局的。
使用像jQuery does here这样的hackish函数,如果你已经使用jQuery(这是一个非常大的库来导入它)。 jQuery是全局的,您可以在控制台中调用该函数。
编辑:我没有链接浏览器特定功能的原因是因为它太具体了。使用仅限JavaScript的解决方案适用于所有浏览器以测试兼容性。
答案 2 :(得分:0)
对于chrome来说,有一个名为Script Injector的插件正是这样做的
https://chrome.google.com/webstore/detail/script-injector/fddnddnolonllcgfbenaloajnbhebmob?hl=en