這是你可以嘗試的東西。
首先,您可能需要某種可重複使用的腳本注入器。以下是一個以URL爲參數並加載位於該URL的腳本的示例。
function injectScript(src) {
var scriptElement = document.createElement('script');
scriptElement.type = 'text/javascript';
scriptElement.language = 'javascript';
scriptElement.src = src;
document.getElementsByTagName('head')[0].appendChild(scriptElement);
}
接下來,您可能需要啓用不僅是遊戲,但要顯示的<div>
容器往哪裏去。所以這裏有一個小幫手,您可以定製自己的喜好:
function enableTheGame(containerId, scriptSource) {
var container = document.getElementById(containerId);
if (container) {
container.className = 'enabled'; // can be anything, e.g. style.display='block'
injectScript(scriptSource); // here's our injector
}
}
現在,前提是你的按鈕有一個ID,讓我們重視它的事件監聽器,這將使該遊戲。請注意,等待頁面完成加載非常重要。
window.addEventListener('load', function() {
var button = document.getElementById('SomeButton');
if (button) {
button.addEventListener('click', function() {
enableTheGame('miniclip-game-embed', 'http://www.miniclip.com/js/game-embed.js');
});
}
});
上述例子可以改進。例如,最後一個函數可以查看按鈕的data-...
屬性,並確定要加載哪個腳本以及在何處。
當點擊按鈕時,您將需要使用一點點javascript來加載/初始化/啓用主遊戲javascript。這可以嗎?你有jQuery可用嗎? – Beejamin
另外,您的示例HTML不會顯示按鈕 - 您可以添加該按鈕嗎? – Beejamin