$lang['tuto'] = "ઉપશામકો"; ?> HTML5 કેનવાસને સંશોધિત

HTML5 કેનવાસને સંશોધિત કરવા માટે બ્લેઝર સર્વર એપ્લિકેશનમાં કસ્ટમ JavaScript કાર્યોનો ઉપયોગ કરવો

Temp mail SuperHeros
HTML5 કેનવાસને સંશોધિત કરવા માટે બ્લેઝર સર્વર એપ્લિકેશનમાં કસ્ટમ JavaScript કાર્યોનો ઉપયોગ કરવો
HTML5 કેનવાસને સંશોધિત કરવા માટે બ્લેઝર સર્વર એપ્લિકેશનમાં કસ્ટમ JavaScript કાર્યોનો ઉપયોગ કરવો

બ્લેઝરમાં HTML5 કેનવાસ સાથે JavaScriptને એકીકૃત કરી રહ્યું છે

બ્લેઝર સર્વર એપ્લીકેશનો વિકાસકર્તાઓને C# અને .NET ટેક્નોલોજીનો ઉપયોગ કરીને શક્તિશાળી વેબ એપ્લીકેશન બનાવવા માટે સુગમતા પ્રદાન કરે છે. જો કે, એવા સંજોગો છે કે જ્યાં JavaScriptનો લાભ લેવો, ખાસ કરીને HTML5 કેનવાસ તત્વની હેરફેર જેવા કાર્યો માટે, જરૂરી બની જાય છે. આવા એક દૃશ્યમાં બ્લેઝર કમ્પોનન્ટમાંથી પસાર થયેલા ડેટાના આધારે કેનવાસ પર ગતિશીલ રીતે દોરવાનો સમાવેશ થાય છે.

આ ચોક્કસ સેટઅપમાં, તમારી પાસે તમારા બ્લેઝર રેઝર પૃષ્ઠમાં એક લૂપ હોઈ શકે છે જ્યાં વ્યક્તિગત HTML કેનવાસ ઘટકોને જનરેટ કરવા માટે ડેટાની સૂચિનો ઉપયોગ કરવામાં આવે છે. દરેક કેનવાસ માટે, તમે છબીઓ અથવા આકારોને રેન્ડર કરવા માટે કસ્ટમ JavaScript ફંક્શનને કૉલ કરવા માંગો છો. C# અને JavaScriptનું આ સંયોજન એક અનોખો પડકાર આપે છે પરંતુ મહાન વૈવિધ્યતા પ્રદાન કરે છે.

જ્યારે તમે તમારા JavaScript કોડનું એકલ HTML પ્રોજેક્ટ્સમાં સફળતાપૂર્વક પરીક્ષણ કર્યું હશે, ત્યારે તેને બ્લેઝરમાં એકીકૃત કરવા માટે, ખાસ કરીને તેને રેઝર HTML વિભાગમાંથી કૉલ કરવા માટે, એક અલગ અભિગમની જરૂર છે. આ તે છે જ્યાં બ્લેઝરની જાવાસ્ક્રિપ્ટ ઇન્ટરઓપ અમલમાં આવે છે, ખાસ કરીને `IJSRuntime` સેવાના ઉપયોગ દ્વારા.

આ માર્ગદર્શિકામાં, અમે અન્વેષણ કરીશું કે તમે બ્લેઝર સર્વર પ્રોજેક્ટના HTML વિભાગમાંથી કેનવાસને હેરફેર કરવા માટે તમારા કસ્ટમ JavaScript ફંક્શનને કેવી રીતે કૉલ કરી શકો છો. અમે Blazor અને JavaScript વચ્ચે સરળ એકીકરણની ખાતરી કરવા માટે પ્રક્રિયાને તબક્કાવાર તોડીશું.

આદેશ ઉપયોગનું ઉદાહરણ
@inject @ઇન્જેક્ટ કરો નિર્દેશનો ઉપયોગ સેવાને ઇન્જેક્ટ કરવા માટે થાય છે (જેમ કે IJSRસમય) બ્લેઝર ઘટકમાં. તે બ્લેઝર એપ્લિકેશનમાં C# થી JavaScript ફંક્શનને કૉલ કરવાની મંજૂરી આપે છે. ઉદાહરણ તરીકે, @inject IJSRuntime JSRuntime JavaScript રનટાઇમ સેવાને ઇન્જેક્ટ કરે છે.
InvokeVoidAsync આ પદ્ધતિનો એક ભાગ છે IJSRસમય અને વળતર મૂલ્યની અપેક્ષા રાખ્યા વિના C# માંથી JavaScript ફંક્શનનો ઉપયોગ કરવા માટે વપરાય છે. દાખલા તરીકે, JSRuntime.InvokeVoidAsync("drawImage", canvasId, data); JavaScript ફંક્શનને કૉલ કરે છે ડ્રોઈમેજ કેનવાસની હેરફેર કરવા માટે.
OnAfterRenderAsync બ્લેઝરમાં આ જીવનચક્ર પદ્ધતિ ઘટક રેન્ડર થયા પછી એક્ઝિક્યુટ થાય છે. એકવાર પૃષ્ઠ અને તેના ઘટકો તૈયાર થઈ જાય તે પછી તે JavaScript કોડ ચલાવવા માટે ઘણીવાર ઉપયોગમાં લેવાય છે, જેમ કે પૃષ્ઠ રેન્ડર કર્યા પછી JavaScript મોડ્યુલ લોડ કરવું. ઉદાહરણ: સુરક્ષિત ઓવરરાઇડ async Task OnAfterRenderAsync(bool firstRender).
IJSObjectReference IJSObjectReference Blazor માં JavaScript મોડ્યુલો આયાત કરતી વખતે ઈન્ટરફેસનો ઉપયોગ થાય છે. તે બાહ્ય JS ફાઇલોનો સંદર્ભ આપીને મોડ્યુલર JavaScript ક્રિયાપ્રતિક્રિયાને સક્ષમ કરે છે. ઉદાહરણ તરીકે, IJSObjectReference jsModule = await JSRuntime.InvokeAsync("આયાત", "./js/MyJavaScript.js"); JS મોડ્યુલ આયાત કરે છે.
Verifiable This is a method from the Moq library used in unit testing. It marks an expectation as verifiable, ensuring that the call to a mocked method (such as a JavaScript interop function) was made during the test. Example: jsInteropMock.Setup(x =>આ Moq લાઇબ્રેરીમાંથી એક પદ્ધતિ છે જેનો ઉપયોગ એકમ પરીક્ષણમાં થાય છે. તે એક અપેક્ષાને ચકાસી શકાય તેવું ચિહ્નિત કરે છે, ખાતરી કરે છે કે ટેસ્ટ દરમિયાન મજાક ઉડાડવામાં આવેલી પદ્ધતિ (જેમ કે JavaScript ઇન્ટરઓપ ફંક્શન) પર કૉલ કરવામાં આવ્યો હતો. ઉદાહરણ: jsInteropMock.Setup(x => x.InvokeAsync("ડ્રોઈમેજ", It.IsAny())).ચકાસણીયોગ્ય();.
await આ એક અસુમેળ પ્રોગ્રામિંગ આદેશ છે જેનો ઉપયોગ એસિંક ઓપરેશનના પરિણામની રાહ જોવા માટે થાય છે, જેમ કે JavaScript ઇન્ટરઓપ કૉલ. ઉદાહરણ તરીકે, JSRuntime.InvokeVoidAsync("drawImage", canvasId, data); એક્ઝેક્યુશન ચાલુ રાખતા પહેલા કાર્ય પૂર્ણ થાય તેની ખાતરી કરે છે.
@code @code બ્લેઝરમાં બ્લોક C# કોડને રેઝર કમ્પોનન્ટમાં ઇનલાઇન લખવાની મંજૂરી આપે છે. આ તે છે જ્યાં લોજિક, જેમ કે JavaScript ફંક્શન્સનો ઉપયોગ કરવો અથવા ઘટક પદ્ધતિઓ વ્યાખ્યાયિત કરવી, મૂકવામાં આવે છે. ઉદાહરણ: @code { સાર્વજનિક રદબાતલ DrawImageOnCanvas() { ... } }.
It.IsAny આનો ઉપયોગ મોક સેટઅપ દરમિયાન ઉલ્લેખિત પ્રકારના કોઈપણ મૂલ્ય સાથે મેળ કરવા માટે એકમ પરીક્ષણમાં થાય છે. ડાયનેમિક ડેટા સ્વીકારતા ઇન્ટરઓપ કૉલ્સની મજાક ઉડાવવામાં તે ખાસ કરીને ઉપયોગી છે. ઉદાહરણ: It.IsAny() ઑબ્જેક્ટ્સની કોઈપણ શ્રેણીને પસાર કરવાની મંજૂરી આપે છે.

કેનવાસ મેનીપ્યુલેશન માટે બ્લેઝર અને જાવાસ્ક્રિપ્ટ ઇન્ટરઓપ સમજાવવું

પ્રથમ સ્ક્રિપ્ટ ઉદાહરણ દર્શાવે છે કે કેવી રીતે લાભ મેળવવો IJSRસમય બ્લેઝર કમ્પોનન્ટની અંદરથી જાવાસ્ક્રિપ્ટ ફંક્શનનો ઉપયોગ કરવા માટે. આ @ઇન્જેક્ટ કરો નિર્દેશનનો ઉપયોગ ઇન્જેક્ટ કરવા માટે થાય છે IJSRસમય સેવા, જે બ્લેઝર અને જાવાસ્ક્રિપ્ટ વચ્ચે સંચારની સુવિધા આપે છે. જ્યારે તમારે એચટીએમએલ તત્વો જેમ કે મેન્યુલેટ કરવાની જરૂર હોય ત્યારે આ જરૂરી છે HTML5 કેનવાસ C# માંથી. આ ઉદાહરણમાં, લૂપ ડેટાની સૂચિમાંથી પસાર થાય છે, અને સૂચિમાંની દરેક આઇટમ માટે, કેનવાસ ઘટક ગતિશીલ રીતે જનરેટ થાય છે. એક બટન ક્લિકનો ઉપયોગ કરીને, JavaScript કાર્ય ડ્રોઈમેજ કેનવાસનું ID અને અનુરૂપ ડેટા પસાર કરીને કહેવાય છે.

આ અભિગમની ચાવી એ ઉપયોગ છે InvokeVoidAsync, એક પદ્ધતિ જે C# ને વળતર મૂલ્યની અપેક્ષા રાખ્યા વિના JavaScript ફંક્શન્સને કૉલ કરવાની મંજૂરી આપે છે. જ્યારે તમે કેનવાસ પર ઇમેજ દોરવા જેવી ક્રિયા કરવા માંગતા હો અને JavaScript તરફથી પ્રતિસાદની જરૂર નથી ત્યારે આ મહત્વપૂર્ણ છે. અન્ય નોંધપાત્ર ભાગ છે OnAfterRenderAsync બ્લેઝરમાં જીવનચક્ર પદ્ધતિ, જે સુનિશ્ચિત કરે છે કે કમ્પોનન્ટ સંપૂર્ણપણે રેન્ડર થયા પછી JavaScript ફંક્શનને કૉલ કરવામાં આવે છે. કેનવાસ જેવા ડીઓએમ તત્વોની હેરફેર કરતી વખતે આ ખાસ કરીને નિર્ણાયક છે, કારણ કે કેનવાસને ખૂબ વહેલા ઍક્સેસ કરવાનો પ્રયાસ કરવાથી ભૂલો થઈ શકે છે.

બીજા સ્ક્રિપ્ટ ઉદાહરણમાં, વધુ મોડ્યુલર અભિગમનો ઉપયોગ કરીને રજૂ કરવામાં આવે છે IJSObjectReference. આ તમને JavaScript કોડને મોડ્યુલ તરીકે લોડ કરવાની મંજૂરી આપે છે, જેનો બહુવિધ ઘટકોમાં ફરીથી ઉપયોગ કરી શકાય છે. મોડ્યુલ એકવાર લોડ થાય છે, અને પછી જ્યારે જરૂર પડે ત્યારે તેની અંદરના કાર્યોને બોલાવવામાં આવે છે. આ પદ્ધતિ કોડની જાળવણીક્ષમતામાં સુધારો કરે છે અને મોટા JavaScript કોડબેસેસનું સંચાલન કરવાનું સરળ બનાવે છે. JavaScript મોડ્યુલને માત્ર એક જ વાર આયાત કરવાથી, તમારી એપ્લિકેશનનું પ્રદર્શન વધારે છે, અને તમે બિનજરૂરી રીતે સ્ક્રિપ્ટ્સને ફરીથી લોડ કરવાનું ટાળો છો.

છેલ્લે, એકમ પરીક્ષણ સ્ક્રિપ્ટનો ઉપયોગ કરે છે Moq જાવાસ્ક્રિપ્ટ ઇન્ટરઓપ કૉલ્સ યોગ્ય રીતે કાર્ય કરી રહ્યાં છે તેની ખાતરી કરવા માટે લાઇબ્રેરી. આ ચકાસી શકાય તેવું પદ્ધતિનો ઉપયોગ અપેક્ષિત કૉલ્સને ચિહ્નિત કરવા માટે થાય છે InvokeAsync ચકાસણીપાત્ર તરીકે, મતલબ કે પરીક્ષણો દરમિયાન, તમે તપાસ કરી શકો છો કે ઇન્ટરઓપ ફંક્શન ખરેખર સાચા પરિમાણો સાથે બોલાવવામાં આવ્યું હતું. આ પદ્ધતિ ખાતરી કરે છે કે બ્લેઝર અને JavaScript વચ્ચેનું સંકલન મજબૂત છે, અને તે પરીક્ષણ દરમિયાન ઇન્ટરઓપ કૉલ્સની સાચીતાને માન્ય કરીને તમારા પ્રોજેક્ટમાં વિશ્વસનીયતાનું વધારાનું સ્તર ઉમેરે છે.

ઉકેલ 1: HTML5 કેનવાસ સાથે JavaScript ઇન્ટરઓપ માટે IJSRuntime નો ઉપયોગ કરવો

આ અભિગમ દર્શાવે છે કે HTML5 કેનવાસમાં ચાલાકી કરતા JavaScript ફંક્શનને કૉલ કરવા માટે બ્લેઝરમાં IJSRuntime સેવાનો ઉપયોગ કેવી રીતે કરવો.

// MyPage.razor
@page "/mypage"
@inject IJSRuntime JSRuntime
@code {
    private async Task DrawImageOnCanvas(MyData data)
    {
        await JSRuntime.InvokeVoidAsync("drawImage", data.Id, data);
    }
}

<div>@foreach (var data in ListOfMyData) {
    <div><canvas id="@data.Id" class="myDataImage"></canvas></div>
    <button @onclick="() => DrawImageOnCanvas(data)">Draw Image</button>
}</div>

ઉકેલ 2: JavaScript મોડ્યુલ લોડ કરવા માટે JSObjectReference નો ઉપયોગ કરવો

આ સોલ્યુશન જાવાસ્ક્રિપ્ટ ફાઇલને મોડ્યુલ તરીકે લોડ કરીને મોડ્યુલર અભિગમ અપનાવે છે, જે ફરીથી વાપરી શકાય તેવું અને સ્વચ્છ છે.

// MyPage.razor
@page "/mypage"
@inject IJSRuntime JSRuntime
@code {
    private IJSObjectReference _jsModule;
    protected override async Task OnAfterRenderAsync(bool firstRender)
    {
        if (firstRender)
        {
            _jsModule = await JSRuntime.InvokeAsync<IJSObjectReference>("import", "./js/MyJavaScript.js");
        }
    }
    private async Task DrawImageOnCanvas(MyData data)
    {
        await _jsModule.InvokeVoidAsync("drawImage", data.Id, data);
    }
}

<div>@foreach (var data in ListOfMyData) {
    <div><canvas id="@data.Id" class="myDataImage"></canvas></div>
    <button @onclick="() => DrawImageOnCanvas(data)">Draw Image</button>
}</div>

ઉકેલ 3: HTML5 કેનવાસ સાથે જાવાસ્ક્રિપ્ટ ઇન્ટરઓપનું એકમ પરીક્ષણ

આ સોલ્યુશન બ્લેઝર ઘટકો માટે bUnit નો ઉપયોગ કરીને એકમ પરીક્ષણ ઉમેરે છે, ખાતરી કરે છે કે કેનવાસ મેનીપ્યુલેશન યોગ્ય રીતે કાર્ય કરે છે.

// TestComponent.razor.cs
@page "/testpage"
@inject IJSRuntime JSRuntime
@code {
    public void TestDrawImage()
    {
        var jsInteropMock = new Mock<IJSRuntime>();
        jsInteropMock.Setup(x => x.InvokeAsync<Void>("drawImage", It.IsAny<object[]>())).Verifiable();
        jsInteropMock.Verify();
    }
}

બ્લેઝરમાં ડાયનેમિક કેનવાસ મેનીપ્યુલેશન માટે JavaScript ઇન્ટરઓપનું અન્વેષણ કરી રહ્યાં છીએ

બ્લેઝરમાં, કસ્ટમ JavaScript ફંક્શન્સને કૉલ કરવાની ક્ષમતા ડાયનેમિક ફ્રન્ટ-એન્ડ મેનિપ્યુલેશન માટે શક્તિશાળી વિકલ્પો ખોલે છે, ખાસ કરીને જ્યારે ગ્રાફિકલ તત્વો જેમ કે HTML5 કેનવાસ. આ પ્રક્રિયાનું એક મુખ્ય પાસું જે હજુ સુધી આવરી લેવામાં આવ્યું નથી તે બ્લેઝરના સર્વર-સાઇડ આર્કિટેક્ચરમાં અસિંક્રોનસ જાવાસ્ક્રિપ્ટ કૉલ્સનો ઉપયોગ છે. બ્લેઝર સર્વર પર કામ કરે છે તેમ, ક્લાયન્ટ અને સર્વર વચ્ચેનો સંચાર સિગ્નલઆર દ્વારા નિયંત્રિત થાય છે, જેનો અર્થ છે કે જ્યારે તમે રેઝર પેજ પરથી JavaScript ફંક્શનને કૉલ કરો છો, ત્યારે ક્રિયાપ્રતિક્રિયામાં થોડો વિલંબ થાય છે. આ અસુમેળ કામગીરીને કેવી રીતે હેન્ડલ કરવી તે સમજવું એ સુનિશ્ચિત કરે છે કે કેનવાસ મેનીપ્યુલેશન સરળતાથી થાય છે.

જ્યારે પૃષ્ઠ પર બહુવિધ કેનવાસ ઘટકો હોય ત્યારે JavaScript અને C# ક્રિયાપ્રતિક્રિયા કરવાની રીતને ઑપ્ટિમાઇઝ કરવાનું બીજું મહત્ત્વનું પરિબળ છે. જ્યારે તમે સૂચિમાંથી લૂપ કરી રહ્યાં હોવ, અને દરેક આઇટમની પોતાની હોય છે કેનવાસ તત્વ, પડકાર એ સુનિશ્ચિત કરવાનું છે કે દરેક કેનવાસ અનુરૂપ JavaScript કાર્યમાંથી યોગ્ય ડ્રોઇંગ સૂચનાઓ મેળવે છે. દરેક કેનવાસમાં એક અનન્ય ઓળખકર્તા છે, જે ઇન્ટરઓપ કોલમાં પેરામીટર તરીકે પસાર થાય છે તેની ખાતરી કરીને આને અસરકારક રીતે નિયંત્રિત કરી શકાય છે. બહુવિધ કેનવાસની પ્રક્રિયા કરતી વખતે JavaScriptમાં યોગ્ય ભૂલનું સંચાલન અને માન્યતા પણ નિર્ણાયક બની જાય છે.

છેલ્લે, બ્લેઝરમાં JavaScript ઇન્ટરઓપ સાથે કામ કરતી વખતે કામગીરીની વિચારણાઓ નોંધપાત્ર છે. જ્યારે નાની સ્ક્રિપ્ટો મોટા ભાગના કિસ્સાઓમાં સારી રીતે કામ કરે છે, ત્યારે જટિલ આકારો અથવા ઈમેજીસને રેન્ડર કરવા જેવા ભારે કેનવાસ ઑપરેશન ઑપ્ટિમાઇઝ ન હોય તો કામગીરીમાં અડચણો ઊભી કરી શકે છે. કેનવાસના કદને મર્યાદિત કરવા, ઑફ-સ્ક્રીન કેનવાસનો ઉપયોગ કરીને અથવા બેચ પ્રોસેસિંગ ગ્રાફિકલ ફેરફારો જેવી તકનીકો રેન્ડરિંગ ઝડપને સુધારવામાં મદદ કરી શકે છે. આ ઑપ્ટિમાઇઝેશન વ્યૂહરચનાઓને સમજવાથી એ સુનિશ્ચિત થશે કે તમારી બ્લેઝર એપ જટિલ ફ્રન્ટ-એન્ડ રેન્ડરિંગ કાર્યોને હેન્ડલ કરતી વખતે કાર્યક્ષમ રહે.

Blazor માં JavaScript Interop વિશે વારંવાર પૂછાતા પ્રશ્નો

  1. હું બ્લેઝરથી JavaScript પર ડેટા કેવી રીતે પસાર કરી શકું?
  2. તમે ઉપયોગ કરી શકો છો JSRuntime.InvokeVoidAsync તમારા બ્લેઝર ઘટકમાંથી જાવાસ્ક્રિપ્ટ ફંક્શનમાં ડેટા પસાર કરવા માટે.
  3. JavaScript સાથે ક્રિયાપ્રતિક્રિયા કરતી વખતે હું Blazor માં async કૉલ્સને કેવી રીતે હેન્ડલ કરી શકું?
  4. બ્લેઝર પ્રદાન કરે છે async જેવી પદ્ધતિઓ InvokeVoidAsync અસુમેળ JavaScript કૉલ્સ કરવા માટે.
  5. લૂપમાં બહુવિધ કેનવાસ તત્વોનું સંચાલન કરવાની શ્રેષ્ઠ રીત કઈ છે?
  6. ખાતરી કરો કે દરેક કેનવાસ તત્વ અનન્ય છે id, અને કૉલ કરતી વખતે આને પરિમાણ તરીકે પાસ કરો drawImage કાર્ય
  7. શું હું બ્લેઝર સાથે બાહ્ય JavaScript લાઇબ્રેરીઓનો ઉપયોગ કરી શકું?
  8. હા, તમે ઉપયોગ કરીને બાહ્ય પુસ્તકાલયો આયાત કરી શકો છો IJSObjectReference અને તેમને તમારા બ્લેઝર પ્રોજેક્ટમાં મોડ્યુલ તરીકે લોડ કરો.
  9. ની ભૂમિકા શું છે IJSObjectReference બ્લેઝર માં?
  10. તે બ્લેઝરને જાવાસ્ક્રિપ્ટ મોડ્યુલ્સ સાથે મોડ્યુલર, ફરીથી વાપરી શકાય તેવી રીતે, પ્રદર્શન અને કોડ સંસ્થામાં સુધારો કરવાની મંજૂરી આપે છે.

બ્લેઝર અને જાવાસ્ક્રિપ્ટ ઇન્ટરઓપ પર અંતિમ વિચારો

જાવાસ્ક્રિપ્ટને બ્લેઝર સર્વર પ્રોજેક્ટમાં એકીકૃત કરવાથી ફ્રન્ટ-એન્ડ કાર્યક્ષમતામાં નોંધપાત્ર વધારો થઈ શકે છે, ખાસ કરીને HTML5 કેનવાસ જેવા તત્વો માટે. IJSRuntime નો ઉપયોગ કરીને, Blazor C# અને JavaScript વચ્ચે સીમલેસ કોમ્યુનિકેશનની મંજૂરી આપે છે, જે ગ્રાફિક્સના ડાયનેમિક રેન્ડરિંગને સક્ષમ કરે છે.

ભલે તમે બહુવિધ કેનવાસ ઘટકોને હેન્ડલ કરી રહ્યાં હોવ અથવા પ્રદર્શન માટે ઑપ્ટિમાઇઝ કરી રહ્યાં હોવ, JavaScript ફંક્શન્સને અસરકારક રીતે કેવી રીતે કૉલ કરવા તે સમજવું એ મજબૂત વેબ એપ્લિકેશન્સ બનાવવાની ચાવી છે. દર્શાવેલ પગલાં તમારા બ્લેઝર પ્રોજેક્ટ્સ માટે સરળ એકીકરણ અને બહેતર પ્રદર્શનની ખાતરી કરે છે.

બ્લેઝરમાં JavaScript ઇન્ટરઓપ માટે સંદર્ભો અને સંસાધનો
  1. બ્લેઝરમાં જાવાસ્ક્રિપ્ટ ઇન્ટરઓપની અધિકૃત દસ્તાવેજીકરણ અને ઊંડાણપૂર્વકની સમજ માટે, મુલાકાત લો ASP.NET કોર બ્લેઝર JavaScript ઇન્ટરઓપરેબિલિટી માર્ગદર્શિકા .
  2. આ મદદરૂપ લેખમાંથી JavaScript સાથે HTML5 કેનવાસ તત્વોનું સંચાલન કરવા વિશે વધુ જાણો: MDN વેબ દસ્તાવેજ - કેનવાસ API .
  3. Moq માટે સંપૂર્ણ દસ્તાવેજીકરણનું અન્વેષણ કરો, બ્લેઝરમાં એકમ પરીક્ષણ JavaScript ઇન્ટરઓપ માટે ઉપયોગમાં લેવાતી પરીક્ષણ લાઇબ્રેરી: Moq ક્વિકસ્ટાર્ટ .