Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript DjangobyExampleBook-jquery bookmarklet根本不起作用_Javascript_Jquery_Python_Html_Django - Fatal编程技术网

Javascript DjangobyExampleBook-jquery bookmarklet根本不起作用

Javascript DjangobyExampleBook-jquery bookmarklet根本不起作用,javascript,jquery,python,html,django,Javascript,Jquery,Python,Html,Django,我以Django为例,在一章中,Django应用程序中构建了一个jQuery bookmarklet,用户可以轻松地将网站上的jpg图像保存到Django应用程序中的用户配置文件区域中 本教程确实给出了我所遵循的操作的确切说明,尽管我已经成功地在Chrome浏览器的书签栏中显示了bookmarklet按钮,但当我浏览带有jpg图像的网页时,单击它不会发生任何事情 这是我本地的Django仪表板,其中bookmarklet按钮添加到书签栏,这部分工作正常 这就是点击bookmarklet时的样子

我以Django为例,在一章中,Django应用程序中构建了一个jQuery bookmarklet,用户可以轻松地将网站上的jpg图像保存到Django应用程序中的用户配置文件区域中

本教程确实给出了我所遵循的操作的确切说明,尽管我已经成功地在Chrome浏览器的书签栏中显示了bookmarklet按钮,但当我浏览带有jpg图像的网页时,单击它不会发生任何事情

这是我本地的Django仪表板,其中bookmarklet按钮添加到书签栏,这部分工作正常

这就是点击bookmarklet时的样子,这是我点击bookmarklet时什么也没发生的部分。 (如何解决这个问题?)

这些是相关的js文件

我相信JavaScript启动器无法加载JavaScript文件,或者JS启动器本身没有加载

JavaScript启动器通过锚标记内的Django模板标记“include”被调用。 这是链接:


我尝试通过CTRL+SHIFT+I控制台调试它,故障显示“include”标记工作不正常。

您的
include
标记被分成两行:

images from other websites → <a href="javascript:{% include
"bookmarklet_launcher.js" %}" class="button">Bookmark it</a><p>
来自其他网站的图像→ 
Django不支持多行标记。将其更改为:

images from other websites → <a href="javascript:{% include "bookmarklet_launcher.js" %}" class="button">Bookmark it</a><p>
来自其他网站的图像→ 

我在翻阅这本书时也遇到过类似的错误

书签按钮不起作用,当我通过chrome调试器调试它时,我可以看到js级别的错误。我做了两个更改来解决这些错误

1.错误消息:net::ERR_中止

行动步骤: 在书中提到,要将bookmarklet.js放在images应用程序目录中,但在bookmarklet_launcher.js中,源代码引用到下面的路径

http://127.0.0.1:8000/static/js/bookmarklet.js?r=
因此,将bookmarklet.js放在images应用程序的
/static/js/
目录中(如果文件夹结构不可用,则创建它)

2.错误消息:net::ERR_中止

还有一个文件应该放在bookmarklet.css中,该文件在bookmarklet.js中的下一行中被引用

href: static_url + 'css/bookmarklet.css?r=' + Math.floor(Math.random()*99999999999999999999)
行动步骤:

/static/css/
目录中创建一个文件bookmarklet.css,并放置css代码。有关css代码,请参阅下面的链接:

1.完成上述步骤后,重新启动开发服务器

2.拖动书签按钮在浏览器中创建书签

3.打开任何HTTP(非https)网站,点击书签(浏览器中的书签,非书签按钮)

4.出现以下弹出窗口


问题是模板不存在,所以请尝试执行以下操作 ** 1.确保您的代码包含在同一行中 2.确保项目主管/images/templates/file_name.js上存在相同名称的模板。 3.或者转到设置并将模板目录添加到模板。 4.如果加载但没有图像视图,请不要忘记,您只接受jpeg和jpg图像
**所以你可以尝试另一个网站,比如维基百科**

我可以通过确保bookmarklet.jsbookmarklet_午餐者.js中来自ngrok隧道的urlhttps而非http开头来解决这个问题

而不是这个
http://127.0.0.1:8000/static/js/bookmarklet.js?r=
它应该是


https://127.0.0.1:8000/static/js/bookmarklet.js?r=

在做了4个小时的所有事情之后。。。谷歌搜索、删除代码和重写代码

只需按Ctrl+C即可停止服务器并重新运行服务器

休息一下,回来修好它:)

我的工作原理和书中的一样——没有变化,什么都没有


仅重新启动服务器。

您需要在问题中粘贴相关代码。如果include标记不起作用,请在问题中包含完整错误。