如何将哈希的特定部分从网址传递到iframe源网址?

时间:2019-02-01 23:10:57

标签: javascript iframe hash

当前页面的URL包含一个哈希:test123.com/go/#1/140/-220

我只想从网址中抓取哈希的特定部分:140和-220,并将它们附加到iframe源的特定部分。

iframe源= test123.com/goiframe&value1=140&value2=-220

其中value1 =网址中的140,value2 =网址中的-220。

location.hash是否可能?

1 个答案:

答案 0 :(得分:1)

当然,响应只是一个字符串,因此可以解析它并构造新的URL。下面我分裂上的散列/和移除第一元件,因为这是基散列。然后,只需构造URL。

请注意:我用文字在这里。如果您不想这样做,可以手动构造字符串。

例如:

// Manually update hash for test. 
window.location.hash = '#1/140/-220';
console.log('Original Hash: ' , window.location.hash);

// Get those entries but remove the inital has part. 
let entries = window.location.hash.split('/').slice(1);
console.log('Entries parsed: ', entries);

// Create the new url now. 
let newURL = 'test123.com/goiframe';


for(let i = 0; i < entries.length; i++){
    newURL += `&value${i + 1}=${entries[i]}`;
}

console.log('New URL: ', newURL);

编辑: 基本上,我只是摆脱了循环,说了lat和lng。根据需要更新。

// Manually update hash for test. 
window.location.hash = '#1/140/-220';
console.log('Original Hash: ' , window.location.hash);

// Get those entries but remove the inital has part. 
let entries = window.location.hash.split('/').slice(1);
console.log('Entries parsed: ', entries);

// Create the new url now. 
let newURL = `test123.com/goiframe&lat=${entries[0]}&lng=${entries[1]}`;

console.log('New URL: ', newURL);