簡體   English   中英

如何觸發頁面加載后創建的腳本

[英]How to fire a script that is created after page is loaded

因此,我正在實現放棄購物車的javascript實現。 我運行的一個腳本是用於購物車的,但是問題是我正在使用asp.net Webforms。 如果我使用asp文字,則腳本不會觸發。 只是為該屬性更改了文本,但不會觸發。

當我更改文本時,我應該使用什么代替asp文字立即觸發。

更新:

我遇到的問題是一旦將Java腳本置於文字控件中,就會觸發它運行。 我該怎么辦?

問題是腳本隨文檔一起加載,並且由於此腳本是由於此后由於某些用戶事件而創建的,因此我需要以某種方式在該文字后面運行代碼。

第二次更新:我想我需要先驗證腳本文本輸出到literal.text的格式是否正確,然后再深入研究,如果這不是造成問題的根本原因。

這是創建腳本的內容... Listrakawesome是asp文字:

StringBuilder coollistrak = new StringBuilder();
            coollistrak.AppendLine("<script>(function(d) {if(document.addEventListener) document.addEventListener('ltkAsyncListener', d);else{e=document.documentElement; e.ltkAsyncProperty = 0; e.attachEvent('onpropertychange',function(e){if(e.propertyName=='ltkAsyncProperty'){d();}});}})(function(){/********** Begin Custom Code **********/");
            foreach (CartItem ci in cart.CartItems)
            {
                string relPath = ci.ProductPicURL.Substring(ci.ProductPicURL.IndexOf("//") + 2);
                relPath = relPath.Substring(relPath.IndexOf("//") + 1);
                coollistrak.AppendLine("_ltk.SCA.AddItemWithLinks('" + ci.SKU + "', " + ci.Quantity + ", '" + Math.Round(ci.Price, 2).ToString() + "', '" + ci.VariantName + "', '" + relPath + "','" + SE.MakeProductVariantLink(ci.VariantID, SE.GetVariantSEName(ci.VariantID)) + "');");
            }
            coollistrak.AppendLine("_ltk.SCA.Submit();/********** End Custom Code **********/});</script>");

            Listrakawesome.Text = coollistrak.ToString().Replace("\r\n", "");

這是輸出到literal.text的內容:

"<script>(function(d) {if(document.addEventListener) document.addEventListener('ltkAsyncListener', d);else{e=document.documentElement; e.ltkAsyncProperty = 0; e.attachEvent('onpropertychange',function(e){if(e.propertyName=='ltkAsyncProperty'){d();}});}})(function(){/********** Begin Custom Code **********/_ltk.SCA.AddItemWithLinks('sku', qty, 'price', 'productname', 'imglink','pagelink');_ltk.SCA.Submit();/********** End Custom Code **********/});</script>"

問題:總的來說,每當我更改包含腳本的literal.text時,該腳本功能是否應在發生時觸發並觸發,或者是否需要執行其他步驟?

我的問題本質上是我沒有將其放在pageload事件的上下文中。 這樣做可以解決我想完成的任務,但不能解決原始問題。 最終要解決該問題,我將需要重新安排如何在c#文件中訪問該函數。

頁面加載解決方案對我而言可以正常工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM