長時間潛伏者,第一次海報。JS小書籤不能在IE11中工作
的基本是這樣:
通過this blog post的啓發,我試圖爲我們的QA團隊可以快速填充表單中的書籤。
書籤在Chrome,IE 10和IE 9兼容模式下在我的機器(TM)上完美運行。我測試過的QA團隊的機器的書籤,雖然它適用於他們的Chrome瀏覽器和IE 9精細,書籤不上運行IE 11
詳細兩臺機器的工作:
運行IE 11的兩臺機器中,一臺在Win 7上,另一臺在Win 8.1上。在Win 7上運行IE 11的機器更新爲IE版本11.0.9600.17207IS,並且還會在Chrome中正確運行書籤。
我試過了幾個不同的變化,第一個基於上面提到的CSS-Tricks博客文章。
<a href="javascript:
(function(d) {
var body = d.getElementsByTagName('body').item(0);
var script = d.createElement('script');
script.src = 'https://company.siteurl.com/unrelated/DisclosureRegister.js';
body.appendChild(script);
}(window.document));
alert('Bookmarklet js fired!');">Disclosure Register Bookmarklet</a>
第二,基於一個StackOverflow Response,如下:
<a href="javascript:
(function(){
var s=document.createElement('script');
s.type='text/javascript';
s.src='https://company.siteurl.com/unrelated/DisclosureRegister.js';
document.getElementsByTagName('head')[0].appendChild(s);
}());">Disclosure Register 2</a>
兩個代碼在前面提到的瀏覽器我的機器上工作,在IE 11既不工作,對其他機器(我不沒有IE 11,不能直接在我的機器上測試)。
我在開發人員工具的控制檯中沒有收到錯誤消息,並且DisclosureRegister.js文件未在開發人員工具的文件列表中列出。看起來,小書籤根本沒有開火。
當我右鍵單擊>屬性時,這兩個bookmarklets都沒有Web Documents選項卡,但是,我提供的簡單的javascript alert小書籤確實具有Web Documents選項卡,並且它在所有瀏覽器(包括IE 11 )。
<a href="javascript:alert('That tickles!');">Click me!</a>
我通過寫Codepen的HTML,向他們發送電子郵件直接鏈接到Codepen(我沒有足夠的信譽分發布的鏈接),並讓他們從拖動鏈接提供的書籤工具Codepen 輸出到他們的瀏覽器收藏夾欄。
我遇到了一些讓我希望它是IE 11老版本的bug,但是使用的IE版本比修復相關bug的版本更新。
以防萬一有什麼東西在這是造成IE 11中止的JavaScript,我包括該代碼爲好DisclosureRegister.js文件:
(function (win, doc, $, undefined) {
//Don't run if jQuery isn't loaded
if (typeof window.jQuery === 'undefined') {
return;
}
alert("Script is being called!");
}(window, window.document, window.jQuery));
問題:
雖然我當然不排除我的代碼錯誤(當然,如果它是錯誤的請糾正我),是否有什麼特殊的IE 11在處理JavaScript書籤的方式,我需要在代碼中說明?
在此先感謝您的時間!
不幸的是,仍然沒有。我將瀏覽器設置爲允許跨域進行數據訪問,允許第三方Cookie會話支持,以及其他一些設置,希望這可以做到這一點,包括設置允許一對夫婦拖放設置,以防問題出現將鏈接從Codepen輸出窗口拖動到收藏夾欄。沒有工作。 – TiVO25
哇。好的。我會留下任何與IE11相關的東西。對不起,沒有一個簡單的答案。 – Adam
在黑暗中的另一個鏡頭。我使用沒有協議的鏈接,因此它們默認爲頁面。即。 //ajax.googleapis.com,是否有助於添加http://之前? – Adam