2015-10-20 55 views
0

我試圖在qualtrics中插入一些JavaScript代碼。我希望它在用戶按下「下一步」按鈕後調整用戶瀏覽器的大小(這是在用戶的瀏覽器將被調整大小後的簡短聲明之後)。當我在自己的瀏覽器中使用HTML文件運行此代碼時,它可以工作。但是,它不符合質量標準。我知道它正確地抓住了「NextButton」元素,因爲我使用基本警報測試了按鈕點擊。有沒有人知道是否有資格阻止這種全屏功能?有沒有辦法避開它?我的Javascript代碼粘貼在下面。提前致謝!單擊下一步按鈕時自動調整爲全屏幕

Qualtrics.SurveyEngine.addOnload(function() 
{ 

$("#NextButton").click(function() 
{ 
    alert("hi"); 
    launchIntoFullscreen(document.documentElement); 

}); 


function launchIntoFullscreen(element) { 
    if(element.requestFullscreen) { 
    element.requestFullscreen(); 
    } else if(element.mozRequestFullScreen) { 
    element.mozRequestFullScreen(); 
    } else if(element.webkitRequestFullscreen) { 
    element.webkitRequestFullscreen(); 
    } else if(element.msRequestFullscreen) { 
    element.msRequestFullscreen(); 
    } 
} 

}); 

回答

0

您應該檢查Qualtrics內部是否真的支持該Web API。

嘗試Modernizer或類似的東西。 how to detect a browser supports requestFullscreen

如果它實際上被支持,那麼元素無效並且requestfullscreen沒有被調用。

+0

好的,謝謝!如果Qualtrics不支持全屏API,那麼我是SOL嗎? –

+0

如果它不支持API,你必須通過頁面上的對話框或類似的東西模仿行爲。人們會在Web API和全屏之前做些什麼 – MKoosej

2

我想你的NextButton點擊處理程序和Qualtrics NextButton點擊處理程序之間有衝突。 Qualtrics獲勝。

我之前處理過類似情況的方式是隱藏Qualtrics NextButton,並添加我自己的按鈕,該按鈕在單擊Qualtrics NextButton之前執行我需要的任何代碼。

事情是這樣的:

Qualtrics.SurveyEngine.addOnload(function() { 

$('NextButton').hide(); 
$('NextButton').insert({ 
    before: "<input id=\"checkButton\" type=\"button\" value=\" >> \" title=\" >> \">" 
}); 
$('checkButton').onclick = function fullScreen() { 
    launchIntoFullscreen(document.documentElement); 
    $('NextButton').click(); 
}; 

function launchIntoFullscreen(element) { 
     if(element.requestFullscreen) { 
     element.requestFullscreen(); 
     } else if(element.mozRequestFullScreen) { 
     element.mozRequestFullScreen(); 
     } else if(element.webkitRequestFullscreen) { 
     element.webkitRequestFullscreen(); 
     } else if(element.msRequestFullscreen) { 
     element.msRequestFullscreen(); 
     } 
}  

}); 
相關問題