我在ASP.NET MVC中編寫了一個MVC web應用程序,該應用程序應該提供一個由我的同事編寫的Flash對象。我不知道任何Flash;他不知道任何C#/ ASP.NET;所以問題就來了!IIS7.5不顯示Flash對象
我的網頁上的代碼如下所示:
<head>
(blah blah blah...)
<script type="text/javascript" src="/FlashStuff/js/swfobject.js"></script>
<script type="text/javascript">
var GP_MLM_flashvars = {};
GP_MLM_flashvars.remote = 'true';
GP_MLM_flashvars.streamprovider = 'localweb';
GP_MLM_flashvars.referer = '';
GP_MLM_flashvars.bgcolor = '#000033';
var GP_MLM_params = {};
GP_MLM_params.menu = 'false';
GP_MLM_params.allowFullScreen = 'true';
GP_MLM_params.salign = 'tl';
GP_MLM_params.scale = 'noscale';
GP_MLM_params.wmode = 'opaque';
GP_MLM_params.bgcolor = '#000033';
var GP_MLM_attributes = {};
GP_MLM_attributes.id = 'GP_MLM';
GP_MLM_attributes.name = 'GP_MLM';
swfobject.embedSWF('/FlashStuff/swf/GP_MLM.swf', 'GP_MLM', '100%', '100%', '9', '/FlashStuff/expressInstall.swf', GP_MLM_flashvars, GP_MLM_params, GP_MLM_attributes);
</script>
</head>
(etc.)
當調試使用VS開發服務器這個頁面,這一切都顯得非常開心和正常工作。但是,如果我嘗試使用本地IIS(7.5)服務器進行調試,則Flash對象不會被加載。
我猜我需要在IIS上做一些事情來啓用使用Flash對象 - 但是什麼?
編輯:問題部分解決;線索來自「404」錯誤(謝謝@Beliskner)。
看來,當你在VS開發服務器下運行時,你的根文件夾是項目文件夾,在我的情況下,「/ FlashStuff」直接離開我的項目文件夾,所以工作正常。
但是,當您運行IIS服務器時,根文件夾是默認網站(或您正在使用的任何網站)。現在,一個項目的URL設置爲「HTTP://本地主機/ MyTestApp」,我有「/ MyTestApp」,例如:
<script type="text/javascript" src="/MyTestApp/FlashStuff/js/swfobject.js"></script>
改變了所有的路徑前綴我的所有路徑;現在工作正常。
雖然現在這是一個非常醜陋的情況 - 因爲我現在正在將特定於應用的信息編碼到我的應用程序中!因此,如果我決定將我的應用程序部署到名爲「MyLiveApp」的文件夾中的IIS服務器上,則必須隨處更改文件引用無處不在!如果我想調試它 - 那麼是什麼?將所有參考文獻改回「MyTestApp」?
很明顯,我不是第一個遇到這種情況的開發者,而且你不得不按照我上面所說的去做。那麼處理這種情況有什麼竅門?
呃......我想答案是「否」,因爲我沒有最想知道你在說什麼! :D – 2011-01-25 15:34:23