如何在 Javascript 的警报/确认框中显示图像?

Posted

技术标签:

【中文标题】如何在 Javascript 的警报/确认框中显示图像?【英文标题】:How do I display image in Alert/confirm box in Javascript? 【发布时间】:2013-10-29 13:10:45 【问题描述】:

如何在警告框或确认框中显示图像?我一直在尝试使用下面的代码,但在警报框中获取图像 url。请任何人帮助我解决问题,或者如果不可能,请提供任何其他建议。

var image = document.getElementById("myImage").src="hackanm.gif";
alert("OnLoad image"+image );

【问题讨论】:

这是不可能的,那些原生对话框只接受 text 输入。如果您想要更多花哨的对话框,请查看 jQueryUI。 类似问题***.com/questions/17268197/image-in-javascript-alert 是的,谢谢先生,有什么插件可以实现这个吗? jsfiddle.net/crustyashish/FzsJR/1 这样的东西?? @Ashish 是的,你的摇滚兄弟.. 正是我想要这个.. 非常感谢 【参考方案1】:

JavaScript 中的警告框只能显示纯文本。您可以使用 jQuery 之类的 JavaScript 库来代替显示模式?

这可能有用: http://jqueryui.com/dialog/

你可以这样做:

<!doctype html>

<html lang="en">
<head>
  <meta charset="utf-8" />
  <title>jQuery UI Dialog - Default functionality</title>
  <link rel="stylesheet" href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css" />
  <script src="http://code.jquery.com/jquery-1.9.1.js"></script>
  <script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>
  <script>
  body 
    font-family: "Trebuchet MS", "Helvetica", "Arial",  "Verdana", "sans-serif";
    font-size: 62.5%;


  </script>
  <script>
  $(function() 
    $( "#dialog" ).dialog();
  );
  </script>
</head>
<body>

<div id="dialog" title="Basic dialog">
  <p>Image:</p>
  <img src="http://placehold.it/50x50"  />

</div>


</body>
</html>

【讨论】:

@Mark Winterbottom 是否可以在模态对话框中显示图像?有没有可能通过使用 JQuery 库来实现这一点?【参考方案2】:

尖刻但可能有用的答案: http://picascii.com/(目前关闭)

https://www.ascii-art-generator.org/es.html (别忘了在每一行后面加上一个 \n!)

【讨论】:

好主意。 链接当前已关闭。 @Sergio 这是一个从图片生成 ascii 艺术的 ascii 艺术生成器。 另外值得指出的是,存在也可以进行图像到 ascii 转换的库。在您的项目中包含一个可以让您根据需要动态更改图像。【参考方案3】:

简短回答:你不能。

长答案:您可以使用 modal 来显示包含所需图像的弹出窗口。

模态框的例子可以参考this。

【讨论】:

【参考方案4】:

正如其他人所提到的,您不能在警报中显示图像。解决办法是在网页上显示。

如果我的网页在调试器中暂停并且我已经加载了图像,我可以显示它。不需要使用jQuery;使用本机 14 行 Javascript,它可以从代码或调试器命令行运行:

function show(img)
 var _=document.getElementById('_'); 
 if(!_)_=document.createElement('canvas');document.body.appendChild(_);
 _.id='_';
 _.style.top=0;
 _.style.left=0;
 _.width=img.width;
 _.height=img.height;
 _.style.zIndex=9999; 
 _.style.position='absolute';
 _.getContext('2d').drawImage(img,0,0);

用法:

show( myimage );

【讨论】:

【参考方案5】:

使用 jQuery 对话框显示图像,试试这个代码

<html>
  <head>
    </head>
    <body>
     <div id="divid">
         <img>
     </div>
    <body>
  </html>


<script>
 $(document).ready(function()
      $("btn").click(function()
      $("divid").dialog();
   );
  );  
 </script>

`

首先你必须在你的页面中包含 jQuery UI。

Working fiddle

【讨论】:

是否可以将 div 内的图像元素显示到对话框中?我不确定它是否有效?你能给这个例子提琴吗? @Mallikarjun 我为你创建了小提琴,我想这会对你有所帮助,jsfiddle.net/3GLCx 谢谢兄弟.. 还有一件事告诉我兄弟.. 我们可以在对话框中的那个图像 div NOT OK Button 上获得触摸事件吗? 阅读 jQuery 网站上的 jQuery UI 文档【参考方案6】:

您可以使用表情符号!

$('#test').on('click', () => 
    alert('? Build is too fast');
)

【讨论】:

无用但奇怪的事实。【参考方案7】:

我创建了一个可能有帮助的函数。它所做的只是模仿警报,但放置图像而不是文本。

function alertImage(imgsrc) 
$('.d').css(
    'position': 'absolute',
    'top': '0',
    'left': '50%',
    '-webkit-transform': 'translate(-50%, 0)'
);
$('.d').animate(
    opacity: 0
, 0)
$('.d').animate(
    opacity: 1,
    top: "10px"
, 250)
$('.d').append('An embedded page on this page says')
$('.d').append('<br><img src="' + imgsrc + '">')
$('.b').css(
  'position':'absolute',
  '-webkit-transform': 'translate(-100%, -100%)',
  'top':'100%',
  'left':'100%',
  'display':'inline',
  'background-color':'#598cbd',
  'border-radius':'4px',
  'color':'white',
  'border':'none',
  'width':'66',
  'height':'33'
)

<script type="text/javascript" src="https://code.jquery.com/jquery-latest.min.js"></script>
<div class="d"><button onclick="$('.d').html('')" class="b">OK</button></div>
.d
font-size: 17px;
  font-family: sans-serif;

.b
  display: none;

【讨论】:

以上是关于如何在 Javascript 的警报/确认框中显示图像?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 ionic 2 框架在警报框中显示选定的索引值

在 IOS 9 中,javascript 警报和确认弹出窗口不适用于 Webkit

检测页面上是不是显示警报或确认

WKWebView javascript 警报、提示、确认不起作用

在javascript中的 弹出对话框或确认框或消息框中添加表格去显示信息?

如何进行类似警报的同步警报/确认对话框