使用Snap SVG时的备用/后备图像

时间:2016-10-13 11:54:37

标签: javascript image svg snap.svg

我刚刚下载了Snap SVG,我正试图找出如何显示带有后退安排的图像。这是代码:

var s = Snap("#MyPopup");
var g = s.g();
var image = g.image("http://myimages.com/xyz.png", 250, 10, 40,40 );

这将完美显示图像。但是,如果图像丢失,那么你会得到那个破碎的图像 - 不喜欢的图标。如果没有找到主图像(类似于<img>使用的onerror),而不是我想要显示替代图像,比如http://myimages.com/abc.png。有人可以指导我如何做到这一点。

1 个答案:

答案 0 :(得分:1)

从@AustinC获取提示我稍微修改了他建议的Check if image exists on server using JavaScript?给出的解决方案。

基本上建议的功能是返回403(而不是404),因为我的图像是在亚马逊云上托管的,因此我选择检查返回代码200(OK)。这是最终的解决方案。

Option Base 1

Sub Sharepoint_Import()
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual

Dim objMyList As ListObject
Dim objWksheet As Worksheet
Const SERVER As String = "https://xxxx/_vti_bin"

Const LISTNAME As String = "{xxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}"
Const VIEWNAME As String = "{xxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}"

Set objWksheet = ActiveWorkbook.Worksheets("Data")

'Clear older data on Sheet "Data"
objWksheet.UsedRange.ClearContents
objWksheet.UsedRange.ClearFormats

'Import data
Set objMyList = objWksheet.ListObjects.Add(xlSrcExternal, Array(SERVER, LISTNAME, VIEWNAME), True, , Range("A1"))

Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic

End Sub