0

我有一个在另一个 aspx 页面上创建图形的 Web 应用程序。有时,由于用户规范中存在错误(例如需要整数的字符串),因此无法按照规范创建图形。

我想立即弹出一个警告窗口,告诉他们在我尝试渲染图表时出现了问题。

问题是,我不知道如何立即检查是否应该为警报窗口插入脚本。一旦我在“chart.aspx”(图像 URL)上的代码被执行,我不知道如何立即检查主页是否有任何问题。我知道它发生在chart.aspx 的代码中,但除了不渲染图像或渲染不同的图像之外,我不知道如何在另一个回发之前告诉用户。我真的很想看看在呈现其中一张图像后页面生命周期中是否有任何排序、事件或阶段。

如果这是不可能的,如果它只是一个图像,我如何chart.aspx 将错误消息传达给default.aspx。也许某种 Response.Write(...?)

再次感谢各位。

4

1 回答 1

1

也许您可以尝试监控图像的加载事件并通过 javascript 处理 onabort 和 onerror?

http://www.w3schools.com/jsref/dom_obj_image.asp

图像对象事件

Event      The event occurs when...  
onabort    Loading of an image is interrupted
onerror    An error occurs when loading an image
onload     An image is finished loading

这样做的老派方法是如下所示呈现您的图像标签:

<img src="chart.aspx" onerror="alert('Image failed to load because XYZ.');" />

如今,我建议您使用 jquery,如下所示:

<img src="placeholder.gif" class="chart" alt="chart">

<script type="text/javascript">
    jQuery(function($) {
        var img = $(document.createElement('img'));
        img.on('error', function() { alert ('...'); });
        img.on('load', function() { $('img.chart').attr('src', img[0].src); });
    });
于 2012-04-14T19:35:29.723 回答