这个问题在 Stack 上有很多答案,但没有一个对我有用......
我需要在 javascript 中从我通过对控制器的 ajax 调用检索的字节数组中设置图像标记的“src”属性。我必须做这个客户端,因为我正在动态构建一些 html(在下面的简单示例中未显示)
这是视图:
<div>
<button onclick=" loadFromDb(); ">CLICK ME</button>
<img id="imgFromModel" src="data:image/png;base64,@Convert.ToBase64String(Model.Image)" alt="" />
<img id="imgFromScript" src="#" alt=""/>
</div>
Run Code Online (Sandbox Code Playgroud)
这是脚本:
function loadFromDb() {
$.ajax({
url: "/Home/LoadFromDatabase",
async: true,
type: "POST",
dataType: "json",
contentType: "application/json; charset=utf-8",
success: function (response) {
var base64String = btoa(response.Image);
$("#imgFromScript").attr("src", "data:image/png;base64," + base64String);
}
});
}
Run Code Online (Sandbox Code Playgroud)
图像在“imgFromModel”标签中正确加载,但不是来自脚本(“imgFromScript”标签)。有人可以告诉我如何将控制器方法中的字节数组加载(设置“src”属性)到图像标签中吗?
预先感谢您的帮助
我正在关注这个过去的问题(根据使用 BeautifulSoup 的属性提取图像 src)尝试从谷歌图像页面中提取所有图像。我收到了“urllib2.HTTPError: HTTP Error 403: Forbidden”错误,但能够使用以下方法解决它:
req = urllib2.Request(url, headers={'User-Agent' : "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/534.30 (KHTML, like Gecko) Ubuntu/11.04 Chromium/12.0.742.112 Chrome/12.0.742.112 Safari/534.30"})
Run Code Online (Sandbox Code Playgroud)
但是,然后我收到了一个新错误,似乎在告诉我 src 属性不存在:
Traceback (most recent call last):
File "Desktop/webscrapev2.py", line 13, in <module>
print(tag['src'])
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/bs4/element.py", line 958, in __getitem__
return self.attrs[key]
KeyError: 'src'
Run Code Online (Sandbox Code Playgroud)
我能够通过专门检查 'src' 属性来克服该错误,但是我的大多数图像在提取时都没有 src 属性。似乎谷歌正在做一些事情来掩盖我提取甚至几张图像的能力(我知道请求是有限的,但我认为它至少是 10 个)。
例如打印出变量标签(见下面的代码)给我这个:
<img alt="Image result for baseball pitcher" class="rg_i" data-src="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRZK59XKmZhYbaC8neSzY2KtS-aePhXYYPT2JjIGnW1N25codtr2A" data-sz="f" jsaction="load:str.tbn" name="jxlMHbZd-duNgM:" onload="google.aft&&google.aft(this)"/>
Run Code Online (Sandbox Code Playgroud)
但是打印出变量 v 给出了“无”。我不知道为什么会发生这种情况,也不知道如何从返回的内容中获取实际图像。有谁知道如何获得实际图像?我特别担心因为 data-src URL 以加密开头...我应该查询 data-src 来获取图像而不是 …
我有这个项目结构:
\n\n/root\n /static\n script.js\n page.html\nRun Code Online (Sandbox Code Playgroud)\n\n此代码:\n
\n\n<html>\n <head>\n <script src="/static/script.js"></script>\n </head>\n <body>\n ...\n </body>\n</html>\nRun Code Online (Sandbox Code Playgroud)\n\n结果是:
\n\nLoading failed for the <script> with source \xe2\x80\x9cfile:///static/script.js\xe2\x80\x9d.\nRun Code Online (Sandbox Code Playgroud)\n\n这是为什么?static我希望它在当前目录(即)中搜索文件夹root。
我想在 R闪亮应用程序中为不在www文件夹中的 PDF 创建 pdf 查看器。
在下面的代码中,如果my_path没有引用 www 文件夹,则它似乎不起作用。
library(shiny)
ui <- fluidPage(
uiOutput("PDF_WINDOW")
)
server <- function(input, output, session) {
output$PDF_WINDOW <- renderUI({
tags$iframe(style="height:485px; width:100%", src= my_path)
})
}
shinyApp(ui, server)
Run Code Online (Sandbox Code Playgroud)
感谢您的任何建议
SVG 单独工作,但不能与标签的src属性内联<img>。
<img src='data:image/svg+xml;charset=utf-8,<svg width="19" height="19" viewBox="0 0 19 19" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M0 9.14453C0 9.60156 0.175781 10.0234 0.492188 10.3398L7.91016 17.7578C8.57812 18.4258 9.66797 18.4258 10.3008 17.7578L17.4727 10.5859C18.1406 9.95312 18.1406 8.86328 17.4727 8.19531L10.0547 0.777344C9.73828 0.460938 9.31641 0.25 8.85938 0.25H1.6875C0.738281 0.25 0 1.02344 0 1.9375V9.14453ZM3.9375 2.5C4.85156 2.5 5.625 3.27344 5.625 4.1875C5.625 5.13672 4.85156 5.875 3.9375 5.875C2.98828 5.875 2.25 5.13672 2.25 4.1875C2.25 3.27344 2.98828 2.5 3.9375 2.5Z" fill="#D40026"/></svg>'/>
Run Code Online (Sandbox Code Playgroud) 我搜索过这个网页寻找答案,但似乎这次我没那么幸运,所以我不得不问.如果它已经回答(找不到它),我道歉.是的,英语不是我的第一语言,所以我也为我的拼写错误道歉,我尽我所能.
这是我的问题,使用Tomcat 5.5,Struts 1.3,JRE 1.5,我使用的是Firefox 3.5.6.在我的jsp页面,我似乎无法把任何src="path/path"我在<script>我试图删除src和一切运作良好,但我的项目将需要大量的从jQuery的使用,我不想要复制/粘贴所有js文件中每个jsp.
这是我的代码:
<script type="text/javascript" src="js/jquery-1.3.2.js">
function showMySelf(){
alert("Hello World!");
}
(... plus other stuff code that actually uses jquery functions)
</script>
Run Code Online (Sandbox Code Playgroud)
和提交按钮:
<input type="submit" onclick="showMySelf()">
Run Code Online (Sandbox Code Playgroud)
当我单击按钮时,没有任何反应(实际上它重新绘制了页面),当我从脚本中删除"src"标签并将所有jquery代码添加到页面时,一切正常.
我已经尝试在路径中添加另一个斜杠"/js/jquery-1.3.2.js"并返回错误.
我尝试过使用ResolveURL,它似乎没有给我更好的结果.
我也尝试将js文件更改为另一个文件("generics.js"和"js.js"),我也试过"js/*.js".
任何一种解决方案都存档了.
我也尝试过使用struts标签(比如html:submit),但它也没有用.
路径实际上是正确的,因为在我的Web浏览器中查找代码会给我一个指向js文件的链接.所以我认为浏览器知道要查找我的js文件,它不会给我一个错误或链接到该文件.
有关为什么会发生这种情况的任何想法?
谢谢你们.
随机.
我想要src一个div中的所有图像(让我们称之为"#all_imgs")在一个简单的数组中.
该数组应如下所示:
["http://src.de/3792282714_90584b41d5_b.jpg",
"http://src.de/1402810863_d41f360b2e_o.jpg"]
Run Code Online (Sandbox Code Playgroud)
谢谢!
这是我的问题:
$("#gallery > img").live('click',function() {
$(this).prev().css("background" , "#f99"); // WORKS !
var src = $(this).prev().src; // DOESN'T WORK (src is undefined)
});
Run Code Online (Sandbox Code Playgroud)
我在google chrome调试器中看到prev()函数返回一个jQuery.fn.jQuery.init [1]对象...它似乎包含我希望在索引0处使用prev()的HTMLImageElement,但是使用它就像数组不起作用.
我迷路了,我可以帮忙...谢谢你们
我读了这篇关于外部脚本如何阻止UI线程的好文章,但我不清楚阻塞是否实际上是由于<script>标记或src='/myscript.js'src属性的存在.
我的问题是内联javascript(缺少src属性声明),例如:
<script type='text/javascript'> alert('am i blocking too?');</script>
Run Code Online (Sandbox Code Playgroud)
或这个:
<script type='text/javascript'> var php='<?=json_encode($myObj)?>';</script>
Run Code Online (Sandbox Code Playgroud)
还阻止UI线程?
我是新手,并使用它在"localhost:5000 /"服务index.html.目前我只有3个文件:index.html,angular.js和app.js; 并且所有这些都在同一个文件夹中.我正在为index.html服务:
@app.route('/')
def index():
return make_response(open('index.html').read())
Run Code Online (Sandbox Code Playgroud)
我想在index.html中包含angular.js和app.js. 我试过这个:
<script src="angular.js"></script>
<script src="app_controller.js"></script>
Run Code Online (Sandbox Code Playgroud)
但它不包括两个文件(我从"查看页面源"检查).是否有一个默认目录,其中flask包含文件?我该怎么做到这一点?